讲真,这个问题你问得太宽泛了。。 angular.js 如何自定义模块? 如果你说的模块是 module,那 angular.js 本身就有 angular.module 方法。。而且这个方法就是用来自定义的。 页面和页面之间的交互方式是什么? 这个问题很宽泛,以下只分情况讨论数据的传输方式: 同一个 controller 的不同页面:直接通过 controller 中绑定的数据交互就好 不同 controller 的不同页面,但两 controller 存在父子关系: 子级 controller 的 scope 继承自父级(参考 directive 中的 scope: true):那么子级可以直接调用父级作用域的数据,但父级不能调用子级的 子级 controller 的 scope 不继承自父级(参考 directive 中的 scope: false 或者 scope: {}):这就是独立的作用域。除了通过 scope: {} 传入的数据,其他都不能调用 两个不在同一 module 下的 controller:可以使用 $rootScope 或者自己写一个 service/factory 去传参。这种处理方式同样适用于上面说的任何情况 当然还会有事件的传输。这里不写了,请自己去看 $emit,$broadcast 和 $on。
我一般是用directive来定义一个指令,算是一个模块吧,他与页面之间的交互也很方便可以采用隔离作用域的方式,降低耦合度。directive有自己的HTML和自己的controller或者link函数。
讲真,这个问题你问得太宽泛了。。
如果你说的模块是 module,那 angular.js 本身就有
angular.module
方法。。而且这个方法就是用来自定义的。这个问题很宽泛,以下只分情况讨论数据的传输方式:
同一个
controller
的不同页面:直接通过controller
中绑定的数据交互就好不同
controller
的不同页面,但两controller
存在父子关系:子级
controller
的scope
继承自父级(参考 directive 中的scope: true
):那么子级可以直接调用父级作用域的数据,但父级不能调用子级的子级
controller
的scope
不继承自父级(参考 directive 中的scope: false
或者scope: {}
):这就是独立的作用域。除了通过scope: {}
传入的数据,其他都不能调用两个不在同一
module
下的controller
:可以使用$rootScope
或者自己写一个service/factory
去传参。这种处理方式同样适用于上面说的任何情况当然还会有事件的传输。这里不写了,请自己去看
$emit
,$broadcast
和$on
。