angularjs同页面两个模块如何调用其他模块方法?

我在html上面定义了app1,然后在div上又定义了app2.
注意并不是单独的两个模块,而是在html中的另一个模块.
不是<div ng-app="app1"></div><div ng-app="app2"></div>
这种,因为html上我调用了一个<tm-pagination conf="paginationConf"></tm-pagination>
自定义分页指令.现在需要在弹出1个单独的分页.
如果在html的模块上继续写控制器那么当点击分页的时候就会触发另一个分页.
所以需要写2个模块.
app1里面有个方法需要调用app2中的方法.
现在我把app2的div上的ng-app删掉写成id='app2'
var app1 = angular.module('app2', ['tm.pagination']);
angular.bootstrap($("app2"), ['app2']);
然后点击html中控制器定义的方法,无法访问到app2中的方法.
我已经把app1中加入了app2的依赖模块

阅读 8.9k
2 个回答

你不需要定义两个模块,我大概理解你的意思;你的意思是说,你的那个分页指令在同一个页面中使用了两次吗?
如果是这样的话,我建议你分别使用不同的变量来替换那个指令中的相关变量,这样应该是最好的解决方法。

一般来说一个程序一个ng-app就够了,把所有东西都包进来。理论上你的页面上就是两个区域,建议你把他们放在一起,不同的地方有不同的事件,逻辑都放到controller中,这样就不存在相互调用的关系了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题