簡體   English   中英

使用ng-model的AngularJS文本輸入,但需要默認值不能與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-bindng-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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM