Я новичок в 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
не отображается во входном тексте. Угловой, по умолчанию, не будет читать 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 из бэкэнд. Как правило, лучше написать конечную точку API JSON и загрузить данные на стороне клиента с помощью $http
или $resource
.
ng-model
целиком какuser
объект, а не как свойство этого объекта. Иначе не понятно в чем твоя проблема