AngularJS文本输入使用ng模型,但需要默认值,而不使用value=或ng-init=
AngularJS text input with ng-model but needs default value not working with value= or ng-init=
我有一个包含许多输入的帐户窗体。其中一个如下:
<input class="form-control " placeholder="First Name" type="text" ng-model="account.first_name" ng-init="account.first_name=user.account.first_name">
我的控制器中有一个服务,可以返回用户的所有信息。我试图在输入中显示文件中的当前信息。
我希望这是一个输入,这样他们也可以改变(更新)它
然而,当我将API从服务返回的value="{{user.account.first_name}}"
设置为等于$scope.user
时,它在输入中不显示任何内容。
我在SO上搜索答案,发现了一些建议ng-init
的答案,但仍然不起作用。
我还尝试了ng-bind
、ng-value
,并将它们放在设置ng-model
之前。
我该怎么做?
编辑:
这是我的账户管理员。该服务只有return $http.get('/api/account');
app.controller('AccountCtrl', function($scope, Account) {
Account.show()
.success(function(data) {
$scope.user = data;
});
data
是一个JSON模式,类似于:
{"account": {}, "documents": {}}
但里面有数据。
从服务获得数据后,在控制器中执行此操作
Account.show()
.success(function (data) {
$scope.user = data;
//set account.first_name here
$scope.account = {
first_name: $scope.user.account.first_name
};
//or you can use angular.copy(source, destination)
angular.copy(data.account, $scope.account)
});
你为什么不省心,把账户业务从模型中删除呢。我不知道它有什么功能,只是使用用户对象。双重选择:
在控制器中:$scope.account=angular.copy($scope.user);
相关文章:
- ng init中的表达式无法使用ng repeat
- AngularJS ng-init does not work
- ng init未按预期工作
- 在<选择>使用angular ng选项可能使用ng init
- ng init未进行初始化
- AngularJS:如何在间隔后执行 ng-init
- 在指令之后加载的角度ng-init函数
- ng init与razor表达式
- 如何使用AngularJS在ng init中传递scope变量
- 如何访问ng-init或ng-checked中服务回调函数中声明的$scope变量
- 在我的HTML中用ng-init初始化$scope变量时出现问题
- 如何在ng-init中使用$scope变量
- 触发特定路由的其他指令,如ng-init或事件,如stateChangeStart
- 如何使用angularjs在单个ng-init-directice中调用多个函数
- AngularJS:我显然不理解ng-init的用法
- AngularJS:Ng:init-如何分配Ng:model
- 如何修复这个 AngualrJS 数据-ng-init 绑定 - 初学者
- ng-选项与ng-init无法正常工作
- HTML 标记与 ng-init 中
- AngularJS文本输入使用ng模型,但需要默认值,而不使用value=或ng-init=