AngularJS-can't读取变量's在我的一个方法中更改了值,它返回旧的valud

AngularJS - can't read the variable's changed value in one of my methods, it returns the old valud

本文关键字:返回 valud 方法 变量 读取 我的 AngularJS-can 一个      更新时间:2023-09-26

我有一个类似的代码

BackendApp.controller('CustomCtrl', function ($scope) {
    $scope.names = [
        {"name" : "John", "Year" : 18},
        {"name" : "Tony", "Year" : 19}
    ];
    $scope.saveTemplate = function() {
        console.log($scope.names);
        // [
        //     {"name" : "John", "Year" : 18},
        //     {"name" : "Tony", "Year" : 19}
        // ];
    }
});

和html

<div ng-controller="CustomCtrl">
    <div ng-repeat="name in names">
        <input type="text" ng-model="name.name" />
    </div>
    <div ng-repeat="name in names">
        {{name.name}} // if we write something in input we see the changed value here 
    </div>
    <a href="javascript:void(0)" ng-click="saveTemplate()">Save</a> // when we click on it, we get old value vor the names array
</div>

如何在saveTemplate方法中访问names数组?:/它只返回变量的旧值

修复ng-model:

替换:

<div ng-repeat="name in names">
    <input type="text" ng-model="name{{ names[$index].name }}" />
</div>

带有:

<div ng-repeat="item in names">
    <input type="text" ng-model="item.name" />
</div>

我使用item来避免混淆什么是变量。