2016-01-22 36 views
0

我有一個簡單的控制器控制器構造稱爲不止一次

angular.module('datahubApp') 
    .controller('LoginController',[ '$scope' , '$resource', LoginController]); 

function LoginController($scope,$resource){ 
    console.log('Constructor called'); 
} 

我已經使用了這個在HTML中的2個地方的兩個不同的組件,在同一視圖現在

<div ng-controller="Logincontroller as ln"> </div> 

<div ng-controller="Logincontroller as ln"> </div> 

當我運行應用程序,我看到這個控制檯

Constructor Called 
Constructor Called 
Constructor Called 

問題1:

所以,這叫做三次。這是正常的嗎?

問題2: 在這種情況下,如何在組件之間傳遞範圍變量?

+0

你能顯示完整的html嗎? /創建一個plunker或jsfiddle? –

+0

沒有更多的代碼,我有..只是這是它 – madhairsilence

回答

0

爲什麼在一個視圖中兩次使用相同的控制器。只使用它一次,它會工作完美。

您可以使用諸如:

<div ng-controller="Logincontroller as ln"> 

    <div></div> <!-- Your first div --> 

    <div> </div> <!-- Your second div --> 

</div> 

AngularJS將會在每一個視圖中找到時間打電話的控制器。無論觀察部分有多少時間。