将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'
}];
答案 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>
表示包含您自己的默认选项标记。