md-select不更新模型

时间:2015-12-16 13:21:57

标签: javascript angularjs angular-material

我有以下代码:

<md-select ng-change="updateView()" 
           ng-model="userSelected" 
           ng-if="authuser.privilege >= 3">
    <md-option ng-repeat="user in users" 
               ng-value="user">{{user.name}}</md-option>
</md-select>

但是在我的upadateView()中,当我记录userSelected时,我总是得到这个我选择的:

Object {$$mdSelectId: 1}

我在我的控制器中将其初始化为

$scope.personneSelected = {};

我错过了什么吗?

enter image description here

2 个答案:

答案 0 :(得分:9)

我通过使用ng-show而不是ng-if来解决我的问题。

答案 1 :(得分:2)

您应该使用users集合中显示的一个默认值初始化ng-model变量,以使其正确。

请参阅帖子https://stackoverflow.com/a/12654812/1196544

此外,无论回复了什么,都应该成为“用户”的对象。因为angularJS将对象本身存储为select的每个选项的值。

使用console.dir()而不是console.log()来查看对象属性(以chrome为单位)。