繁体   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