1

我有兩個嵌套的控制器在angularjs中,並且想要從內部控制器的外層使用ng-model。假設在html頁面此在嵌套的Angularjs控制器中使用ng模型

<div ng-controller='outController'> 
    // data.Name : from outer controller 
    <div ng-controller='innerController'> 
     <input type="text" ng-model='name' ng-init='name=data.Name'> 
     {{data.Name}} // display this scope value 
    </div> 
</div> 

data.Name值顯示,但不能綁定到名字NG-模型。 如何將此值綁定到內部ng模型?

+0

見[角度引導](https://docs.angularjs.org/guide/controller#scope-i例如) – Grundy

+0

@Grundy prototypal inheretance可以幫助他實現同樣的事情 –

+0

將ng-model更改爲data.Name – MstfAsan

回答

4

在這種情況下,您應遵循點規則,以便您可以使用prototypal inheritance訪問子範圍內的父範圍。對於使用這種方法,你需要有一個對象在父控制器宣稱喜歡這裏應該在outController聲明則內部控制器不會創建一個新的,它會使用使用現有prototypal inheritance

標記

<div ng-controller='outController'> 
    // data.Name : from outer controller 
    <div ng-controller='innerController'> 
     <input type="text" ng-model='data.Name'> 
    </div> 
</div> 

代碼

app.controller('outController', function($scope){ 
    $scope.data = {}; 

    //..other code here ..// 

}) 
+0

我在外部控制器中使用並處理名稱ng-model。 –

+0

@hadi它與你所說的和你寫的問題之間的矛盾.. –

+1

感謝Pankaj你已經幫我:) –