为什么ng-model不更新控制器值select? [英] Why ng-model does not update controller value select?
本文介绍了为什么ng-model不更新控制器值select?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
< div ng-controller =SelectCtrl>
< p>选定的项目是:{{selectedItem}}< / p>
< p>选定项目的年龄是:{{selectedItem.age}}< / p>
< / select>
< / div>
这是代码AngularJS:
var app = angular.module('myApp',[]);
$ b app.controller('SelectCtrl',function($ scope){
$ scope.items = [{name:'one',age:30},{name:'two' ,年龄:27},{name:'three',age:50}];
$ scope.selectedItem = $ scope.items [0];
console.log($ scope.selectedItem); //不是更新:(
));
在视图中更新了新值每次我改变选择,但控制器不更新选择的当前值。我应该怎么做?
谢谢!
为了在控制器中更新或更改值,可以在其上写
ng-change
函数。然后,您可以检查控制器内更新的值。 标记
$ b
< select ng-model =selectedItemng-options =item.name for items in items
ng-change =changeSelectedItem()>
< ; / select>
代码 p>
$ scope.changeSelectedItem = function(){
console.log($ scope.selectedItem);
}
其他方法可以简单地使用 {{ selectedItem}}
在某处。这也会给出一个关于如何更新 selectedItem
值的想法。
This is the code HTML:
<div ng-controller="SelectCtrl">
<p>selected item is : {{selectedItem}}</p>
<p> age of selected item is : {{selectedItem.age}} </p>
<select ng-model="selectedItem" ng-options="item.name for item in items">
</select>
</div>
This is the code AngularJS:
var app = angular.module('myApp', []);
app.controller('SelectCtrl', function($scope) {
$scope.items = [{name: 'one', age: 30 },{ name: 'two', age: 27 },{ name: 'three', age: 50 }];
$scope.selectedItem = $scope.items[0];
console.log($scope.selectedItem); //it's not update :(
});
in the view the new value updated every time I change the select, but the controller does not update the current value of the select. What should I do?
Thanks!
解决方案
To get updated or change value inside your controller, you could write ng-change
function on it. Then you could check the updated value inside controller.
Markup
<select ng-model="selectedItem" ng-options="item.name for item in items"
ng-change="changeSelectedItem()">
</select>
Code
$scope.changeSelectedItem = function(){
console.log($scope.selectedItem);
}
Other way could be you could simply use {{selectedItem}}
on html somewhere. That will also give an idea about how selectedItem
value is updating.
这篇关于为什么ng-model不更新控制器值select?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文