如何在我的视图中将控制器中的值传递给<input>
标记?我成功获得了数据,但是从html调用它,它不起作用?我没有得到任何错误,我的语法错误,我尝试使用angularjs文档中的几个语法库,我也尝试使用ng-value={{data.email}}
甚至在值之间放置双引号。这样做的正确方法是什么?
这是我的HTML:
<label class="item item-input">
<input type="text" placeholder="Email" value={{data.email}} disabled>
</label>
这是我的控制者:
$http({
method: 'POST',
url: 'myservice',
data: encodedString,
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function (data) {
for (i = 0; i < data.length; i++) {
if (data[i].QActivationCode === data[i].token) {
$scope.userData = data[i];
Acct.setAcctEmail(data[i].email);
}
}
});
答案 0 :(得分:2)
您可以使用ng-model
或ng-value
。您在视图中使用了错误的密钥,即您应该在HTML视图中使用userData.email
而不是data.email
。 (声明$scope.userData = data[i];
声明您要在范围中添加密钥userData
而不是data
):
<label class="item item-input">
<input type="text" placeholder="Email" ng-model="userData.email" disabled>
</label>
<label class="item item-input">
<input type="text" placeholder="Email" value={{userData.email}} disabled>
</label>
由于input
字段已禁用,我们无需更改该输入字段,因此您应使用第二个选项。
答案 1 :(得分:1)
在角度中,ng-model用于将范围值与html元素绑定。或者,如果我们必须将值传递给输入标记,我们可以使用{{}}表达式。
ngModel指令使用NgModelController将输入,select,textarea(或自定义表单控件)绑定到作用域上的属性,该指令由此指令创建和公开。 ngModel负责:将视图绑定到模型中,其他指令如input,textarea或select require。
1. <label class="item item-input">
<input type="text" placeholder="Email" ng-model="userData.email" disabled>
</label>
2. <label class="item item-input">
<input type="text" placeholder="Email" value={{userData.email}} disabled>
</label>
答案 2 :(得分:0)
使用ng-model
<label class="item item-input">
<input type="text" placeholder="Email" ng-value="data.email" disabled>
</label>
确保范围内存在对象数据。