我有以下代码:
<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 = {};
我错过了什么吗?
答案 0 :(得分:9)
我通过使用ng-show而不是ng-if来解决我的问题。
答案 1 :(得分:2)
您应该使用users集合中显示的一个默认值初始化ng-model变量,以使其正确。
请参阅帖子https://stackoverflow.com/a/12654812/1196544
此外,无论回复了什么,都应该成为“用户”的对象。因为angularJS将对象本身存储为select的每个选项的值。
使用console.dir()而不是console.log()来查看对象属性(以chrome为单位)。