更改文本模型值不会反映在范围数组中

时间:2013-12-29 09:33:57

标签: angularjs

我是角色的新手,我有填充数据的输入字段。但是在输入字段上的数据更改时,它不会反映在范围中的数组中。

JS

var app = angular.module('plunker',[]);
app.controller('Nav', function($scope) {
      $scope.urls = [
          "http://google.com",
          "http://cnn.com"  
     ]; 
});

HTML

<body ng-controller="Nav">
    {{urls}}
    <div ng-repeat="url in urls">
        <input type="text" ng-model="url" />
    </div> 
</body>

演示:http://plnkr.co/edit/OXXdFK2JElVaAh0uYmxG?p=preview

1 个答案:

答案 0 :(得分:2)

范围中的值不会更改,因为您没有绑定到对象。如果你改变这样的初始数组:

$scope.urls = [
    { url: "http://google.com" },
    { url: "http://cnn.com" }  
]; 

并将ng-repeat更新为item in urlsng-model更新为item.url,所有内容都应按预期运行。

在您的示例中,url引用了string并且angular无法正确解析绑定。

请参阅我更新的演示: http://plnkr.co/edit/plrJQHZdZ9sa45ypO29N?p=preview