Ng-init无法在加载

时间:2016-02-04 11:20:19

标签: angularjs angular-ngmodel ng-init

将ng-init与数组结合使用时,永远不会有init值。在尝试了所有可能的选项后,我希望有人可以找到解决此问题的方法。

html

<select class="update-invisible" ng-model="user.level" ng-init="user.level" ng-change="updateUserlevel(user)" ng-options="userlevel.id as userlevel.label for userlevel in userlevels track by userlevel.id"></select>

注意:ngmodel(user.level)是一个整数,用于指定用户信息对象中的当前用户级别。在此对象中,必须更新userlevel才能更改用户权限。

userlevels对象,将user.level int与字符串相匹配以显示前端

$scope.userlevels = [{
        id: 1,
        label: 'Regular user'
    },{
        id: 2,
        label: 'Administrator'
    }];

2 个答案:

答案 0 :(得分:1)

您应该使用ng-init来评估角度表达式。以下片段将level范围对象的user属性设置为5。

<div ng-init="user.level = 5">

答案 1 :(得分:0)

问题在于你的跟踪,删除跟踪它会起作用

<select class="update-invisible" ng-model="user.level = 1" ng-init="user.level" ng-change="updateUserlevel(user)" ng-options="userlevel.id as userlevel.label for userlevel in userlevels"></select>

或-ELSE

<select class="update-invisible" ng-model="user.level" ng-init="user.level = 1" ng-change="updateUserlevel(user)" ng-options="userlevel.id as userlevel.label for userlevel in userlevels track by userlevel.id">
<option value="">--Select one Option--</option>
</select>

表示包含您自己的默认选项标记。