2015-11-24 28 views
-1

我想看到2個contorller由1個控制器調用。 如何讓它打電話? PS。 B在iframe標籤中。 請幫幫我。angularjs-如何調用app.controller中的其他控制器

現在HTML源結構

A.html (A.js) 
B.html (B.js) A children tag - iframe 

現在JS源(A.js)

var app = angular.module('upload',[nUpload]); //nUpload is other module 
app.controller('upload',[$scope,nupload, 
function($scope,nupload){   //nupload is service of nUpload module 
      .... //fileupload 
}]);       ----- **1contorller** 

B.js(JS文件是在其他HTML代碼(iframe))

var app = angular.module('progress',['']);</br> 
app.controller('progress',[$scope,,,,] function($scope,,){ 
      ... //draw progress } 
);     ----- **2contorller** 

我夢想的來源(A.js)

app.controller('upload',,,, 
function(,,,){ 
    B.progress = "10%" 
} 

回答

0

嗯..分享控制器之間的對象,你需要一個工廠。

試試這個:

A.js

var app = angular.module('upload',[nUpload,'container']); 

app.controller('upload',[$scope,nupload,'Progress', 
function($scope,nupload,Progress){ 
    Progress.setProgress("10%"); 
}]); 

B.js

var app = angular.module('progress',['container']); 

app.controller('progress',[$scope,'Progress',,, function($scope,Progress){ 
    var progressData = Progress.getProgress(); 

}]); 

container.js

var app = angular.module('container',[]); 

app.factory("Progress",[function(){ 
    var progress = "0%"; 
    return { 
    getProgress: function() { 
     return progress; 
    } 
    setProgress: function(data) { 
     progress = data; 
    } 
    } 
}]); 

希望這有助於你。

; D

+0

非常感謝! @Javierif :) – inyoung

+0

如果函數由A.js(Progress.setProgress) – inyoung

+0

調用,當函數調用A.js(Progress.setProgress)時,是否可以更新或綁定各種B.js?..我還不知道角JS框架.... :(幫我角度!! – inyoung

相關問題