ng-model 不适用于 angularJS 中的某些属性
ng-model not working for certain attributes in angularJS
您好,我遇到了 ng-model 的问题。我想为管理员用户创建一个编辑页面来编辑用户权限级别的其余部分。
所以,我在编辑页面列出了用户的所有属性,这些属性应该显示当前值。
我可以正确更新所有属性,但是,问题是访问编辑页面时,只有某些属性显示,而有些则没有。我认为这是ng-model的问题。
来自我的 _form.html.erb
的代码片段
<div class="col-md-12 space-1" ng-class="{ 'has-error' : form['email'].$invalid }">
<label class="control-label">Email</label>
<div class="input-icon right">
<i ng-show="form['email'].$invalid" class="fa fa-warning tooltips" data-original-title="{{errors['email']}}" data-container="body"></i>
<input ng-model= "user.email" name="email" type="text" class="form-control">
</div>
</div>
<br>
<div class="col-md-12 space-1" ng-class="{ 'has-error' : form['events'].$invalid }">
<label class="control-label">Event Permission Level : {{user.activities.events}}</label>
<div class="input-icon right">
<i ng-show="form['events'].$invalid" class="fa fa-warning tooltips" data-original-title="{{errors['events']}}" data-container="body"></i>
<input ng-model= "user.activities.events" name="activities.events" type="range" max="2" min="0" class="form-control">
</div>
</div>
<br>
<div class="col-md-12 space-1" ng-class="{ 'has-error' : form['admin_events'].$invalid }">
<label class="control-label">Admin Event Permission Level : {{user.activities.admin_events}}</label>
<div class="input-icon right">
<i ng-show="form['admin_events'].$invalid" class="fa fa-warning tooltips" data-original-title="{{errors['admin_events']}}" data-container="body"></i>
<input ng-model= "user.activities.admin_events" name="activities.admin_events" type="range" max="2" min="0" class="form-control">
</div>
</div>
<br>
上面的代码显示了 3 种不同的 ng 模型,1.user.email、2.user.activities.events 3.user.activities.admin_events
我处理它们的方式是一样的,但是当访问编辑页面时,只有电子邮件和事件属性显示当前值,而不是admin_events。我可以更新它们的值,但是在访问编辑页面时我无法让 admin_events 显示其当前值。这很奇怪不是吗。我的意思是,如果我能看到事件的值,为什么我看不到 admin_event 的值,因为它们都属于用户变量。
谁能解释一下为什么会这样?这让我很困惑。非常感谢。
因为它解决了问题,所以我引用了自己的评论:
如果只有user.activities.admin_events
不起作用,可能与_
表示法有关。试试驼峰式 user.activities.adminEvents
或 user.activities['admin_events']
.
您好,我遇到了 ng-model 的问题。我想为管理员用户创建一个编辑页面来编辑用户权限级别的其余部分。 所以,我在编辑页面列出了用户的所有属性,这些属性应该显示当前值。
我可以正确更新所有属性,但是,问题是访问编辑页面时,只有某些属性显示,而有些则没有。我认为这是ng-model的问题。
来自我的 _form.html.erb
的代码片段 <div class="col-md-12 space-1" ng-class="{ 'has-error' : form['email'].$invalid }">
<label class="control-label">Email</label>
<div class="input-icon right">
<i ng-show="form['email'].$invalid" class="fa fa-warning tooltips" data-original-title="{{errors['email']}}" data-container="body"></i>
<input ng-model= "user.email" name="email" type="text" class="form-control">
</div>
</div>
<br>
<div class="col-md-12 space-1" ng-class="{ 'has-error' : form['events'].$invalid }">
<label class="control-label">Event Permission Level : {{user.activities.events}}</label>
<div class="input-icon right">
<i ng-show="form['events'].$invalid" class="fa fa-warning tooltips" data-original-title="{{errors['events']}}" data-container="body"></i>
<input ng-model= "user.activities.events" name="activities.events" type="range" max="2" min="0" class="form-control">
</div>
</div>
<br>
<div class="col-md-12 space-1" ng-class="{ 'has-error' : form['admin_events'].$invalid }">
<label class="control-label">Admin Event Permission Level : {{user.activities.admin_events}}</label>
<div class="input-icon right">
<i ng-show="form['admin_events'].$invalid" class="fa fa-warning tooltips" data-original-title="{{errors['admin_events']}}" data-container="body"></i>
<input ng-model= "user.activities.admin_events" name="activities.admin_events" type="range" max="2" min="0" class="form-control">
</div>
</div>
<br>
上面的代码显示了 3 种不同的 ng 模型,1.user.email、2.user.activities.events 3.user.activities.admin_events
我处理它们的方式是一样的,但是当访问编辑页面时,只有电子邮件和事件属性显示当前值,而不是admin_events。我可以更新它们的值,但是在访问编辑页面时我无法让 admin_events 显示其当前值。这很奇怪不是吗。我的意思是,如果我能看到事件的值,为什么我看不到 admin_event 的值,因为它们都属于用户变量。
谁能解释一下为什么会这样?这让我很困惑。非常感谢。
因为它解决了问题,所以我引用了自己的评论:
如果只有user.activities.admin_events
不起作用,可能与_
表示法有关。试试驼峰式 user.activities.adminEvents
或 user.activities['admin_events']
.