Angularjs 引用AngularUi和AngularTrap时出错
在我的一个angularjs项目中,我同时使用AngularUi和AngularStrap。当我点击一个按钮时,它会显示一个弹出窗口,但它会显示“$modal.open不是一个函数”。搜索时,我发现这是由于引用了两个角度库Angularjs 引用AngularUi和AngularTrap时出错,angularjs,angular-ui-bootstrap,angular-strap,Angularjs,Angular Ui Bootstrap,Angular Strap,在我的一个angularjs项目中,我同时使用AngularUi和AngularStrap。当我点击一个按钮时,它会显示一个弹出窗口,但它会显示“$modal.open不是一个函数”。搜索时,我发现这是由于引用了两个角度库 $modal.open({ template: '<h1>Hello</h1>' }); $modal.open({template:'Hello'}); 有没有办法克服这个问题 Angular.UI.$modal之类的东西???Angular的当
$modal.open({ template: '<h1>Hello</h1>' });
$modal.open({template:'Hello'});
有没有办法克服这个问题
Angular.UI.$modal之类的东西???Angular的当前版本无法解决冲突或完全限定所需的依赖关系 因此,考虑到这一点,首先要考虑的是您是否能够消除冲突(或者去掉其中一个引导模块,编辑一个以删除或重命名您不需要的服务和指令,或者更好的是,编辑一个以删除所有您不需要的东西) 另一方面,您可能能够按照加载方式进行游戏,以使其使用您想要的方式。如果考虑两个模块A和B,每个定义“代码> $MODATION/CODE >,角将使用最后一个模块的依赖性来加载。
var A = angular.module('A', []);
A.factory('serviceA', function(){
return function(){
console.log('using serviceA defined in module A');
};
});
var C = angular.module('C', []);
C.factory('serviceA', function(){
return function(){
console.log('using serviceA defined in module C');
};
});
// to demo the concept, i'm just injector straight. in your code, you'd just change the order they're specified in your angular.module call.
// notice here we load C before A
var $injector = angular.injector(['C', 'A']);
$injector.invoke(function(serviceA){
serviceA(); // serviceA will be from module A
});
上面我想使用模块A
中的serviceA
,所以我在C
之后定义它。如果您想要C
的serviceA
,请将其交换
angular.module('myapp', ['C', 'A']);
但是,如果应用程序的模块由多个子模块组成,每个子模块可能依赖于这些引导模块中的一个或另一个,则您可能很难按照所需顺序加载它。如果某些角度的内部变化,或者您的依赖关系发生变化,它也可能在将来发生变化
我推荐第一种选择:消除冲突。感谢您的快速响应。让我试试这个,然后再给你回复。我已经在angularsttrap.min.cs中将$modal替换为$bsmodal。现在一切都好了。。非常感谢你的帮助