md-select无法更新模型

4
我有以下代码:

我有以下代码:

<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>

但是在我的updateView()函数中,无论我选择什么,当我记录用户选择时,我总是得到以下结果:

Object {$$mdSelectId: 1}

我在控制器中这样初始化它

$scope.personneSelected = {};

我错过了什么吗?

在这里输入图片描述

2个回答

11

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


1
谢谢。我在想为什么我的自定义指令(包括一个md-select)没有更新模型。一个包含ng-if的封闭div是问题所在。 - James Bell

2

在使用ng-model变量之前,您应该将其初始化为用户集合中出现的默认值之一以确保正确性。

请参考https://dev59.com/nmcs5IYBdhLWcg3wrl_C#12654812这篇文章。

同时,被返回的应该是一个“user”对象,因为AngularJS将该对象本身作为选择器每个选项的值存储。

在Chrome中,使用console.dir()而不是console.log()来查看对象属性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接