簡體   English   中英

angularjs- 如何在 app.controller 中調用另一個控制器

[英]angularjs- How to call the other controller in app.controller

我想看到 2 個控制器被 1 個控制器調用。 怎么調用呢? 附注。 B 在 iframe 標簽中。 請幫我。

現在 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%"
}

嗯……要在控制器之間共享對象,您需要一個工廠。

嘗試這個:

js

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

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

js

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

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

 }]); 

容器.js

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

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

希望這對你有幫助。

;D

暫無
暫無

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

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