2014-06-30 12 views
0

據我瞭解的最佳做法,在我的控制,我給你一個模式,以$範圍,而不是assignging多個獨立的值$範圍:

.controller('TestCtrl', function AboutCtrl($scope, $http) { 

    var model = { 
     name: 'Bob', 
     address: 'Squaresville' 
     } 
    }; 

    $scope = model; 
}) 

而且在我的模板中:

<input type="text" ng-model="model.name" /> {{model.name}} 
<input type="text" ng-model="model.address" /> {{model.address}} 

但是,當頁面初始加載時,文本框沒有值。但是當我輸入時,匹配的{{...}}標籤被更新。

爲什麼不更新初始值?

+1

刪除'模型。 '在您的標記 – Sprottenwels

+1

中,您將$ scope設置爲模型($ scope = model)。你應該做$ scope.model = model; –

回答

5

而是執行此操作:

$scope.model = model; 

或者僅僅把它定義這種方式:

$scope.model = { 
    name: "Bob", 
    address: "squaresville" 
} 
+0

嗚!謝謝。但你知道爲什麼我的方式做它做了什麼(允許更新,但不是初始值?) – Cabbagesocks

+1

你砸了$ scope變量,不應該這樣做:) –

+0

男人我討厭是愚蠢的,謝謝! – Cabbagesocks

2

有一個較短的方式做你想要什麼:

$scope.model = { 
     name: 'Bob', 
     address: 'Squaresville' 
     };