我是AngularJS的新手。
我想从没有ng-repeat的输入文本中获取值,其中值来自Python。
Python的价值:
{{user.id}}
我的文字输入:
<form ng-submit="SendHttpPostData()">
<p><input type="text" ng-model="user" value="{{user.id}}"></p>
<input type="submit" value="Submit" />
</form>
我的问题是:
user.id
的值不会显示在输入文字中。答案 0 :(得分:0)
默认情况下,Angular在初始化数据绑定时不会读取输入的value
属性。但是,您可以编写一个指令来为您执行此操作:
app.directive('value', function () {
return {
restrict: 'A',
require: '?ngModel',
link: function postLink(scope, element, attrs, ngModel) {
if (!ngModel)
return;
var val = attrs.value || element.val() || element.text();
ngModel.$setViewValue(val);
ngModel.$render();
}
};
});
这将确保只要value
属性与ng-model
一起出现,它就会用于初始化绑定。有关演示,请参阅此Plunker。
但请注意,这不是从后端传递数据到Angular的推荐方法。通常,最好使用$http
或$resource
编写JSON API端点并将数据加载到客户端。