我正在尝试使用控制器中的数据预填充表单。
简单的代码看起来像
<div ng-app="app" ng-controller="MainCtrl">
<input name="widget.title" ng-model="widget.title">
<input name="widget.content" ng-model="widget.content">
<button ng-click="set('foo')">set to foo</button>
</div>
和
angular.module('app', [])
.controller('MainCtrl', function($scope) {
$scope.widget = {title: 'abc'};
$scope.widget = {content: 'test'};
$scope.set = function(new_title) {
this.widget.title = new_title;
}
});
但它总是只预填最后一个输入字段
JSFiddle:http://jsfiddle.net/b40nLuf2/
最佳答案
在您的情况下,您要用第二个$scope.widget ($scope.widget = {title:'abc'})
覆盖第一个($scope.widget = {content:'test'})
。
您必须通过以下方式定义一个具有两个属性(标题和内容)的对象$scope.widget
:
angular.module('app', [])
.controller('MainCtrl', function($scope) {
$scope.widget = {
title: 'abc',
content: 'test'
};
$scope.set = function(new_title) {
this.widget.title = new_title;
}
});
关于javascript - AngularJS根据 Controller 数据预填充输入字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47335129/