我有一个主应用程序:
var mainApp = angular.module('mainApp', ['secondApp'])
.constant('config', {
key: "mainKey"
});
第二个应用程序看起来像这样:
var secondApp = angular.module('secondApp', [])
.constant('config', {
key: "secondKey"
});
当我将config
注入第二个应用程序中的指令时:
secondApp.directive("ngTest", function (config) {
});
配置正在从主app配置初始化。我在这做错了什么?当我以不同的名称命名常量并使用不同的名称注入时,它可以正常工作。
var secondApp = angular.module('secondApp', [])
.constant('secondConfig', {
key: "secondKey"
});
secondApp.directive("ngTest", function (secondConfig) {
});
版本为:AngularJS v1.5.7
答案 0 :(得分:3)
AngularJs 1不能处理命名空间冲突。
因此,如果您在一个具有相同名称
的APP中使用两个模块
- 服务
- 厂
- 常量
醇>
所以根据我最好的克服这个问题是:
只需为您的变量添加一些前缀即可 像::
var mainApp = angular.module('mainApp', ['secondApp'])
.constant('mainApp_config', {
key: "mainKey"
});
var secondApp = angular.module('secondApp', [])
.constant('secondApp_config', {
key: "secondKey"
});
我知道这不是你可能正在寻找的解决方案...... 这是我知道我可以向你推荐的唯一方式。