2016-01-08 62 views
4

AngularJs为您提供创建模块的可能性。一切都好。它也给你添加组件到你的模块的能力,如service,controller,等等......AngularJS和模块化

我唯一的问题是,覆盖。

例子:

app.module('aModule').controller('SimpleController', functino(){...}); 
app.module('bModule').controller('SimpleController', functino(){...}); 

如果你尝试定义假设与ui-router的状态definiction,它只是将无法正常工作,因为一个控制器将完全覆盖一个加载第一。

你们是否遇到过这个问题,或者只是我?

+1

很好的问题。名称空间碰撞对于Angular 1用户来说是一个真正的问题。除了“正确命名你的组件”之外,我对任何有效的解决方案都非常好奇...... – Yerken

回答

2

不,这是正常的行为。你可以命名空间它像'component.controller'(所以这样做在控制器的名称,而不是模块),这有助于,否则那是不可能在Angular 1

+0

不,既不会帮助。它只是命名你的模块,但它不会对覆盖同名控制器有任何影响。 – Iamisti

+2

他的意思是根据包含模块的名称控制器。 – Yerken

+0

我明白了,但我不会使用此解决方法。在尝试注入这些服务/值/等时会很乱。 – Iamisti