以下我希望能够在第一次定义模块,然后稍后更改它。原因是我的模块是动态生成的,一旦一个JavaScript文件发生变化,我宁愿重新加载一个模块而不是整个应用程序。加载很慢,很慢。 JS文件被观察进行更改并且懒惰地加载但是始终保持初始模块,即“这将在第一次被记录”,即使新的JavaScript执行它也不会覆盖旧模块,总是会被记录。
我认为这对于AngularJS社区来说是一个很好的工具,但我还不知道它是否已经可行(我一直在阅读它不是)。或者,如果我能使用controller / directives / 1.5components
实现相同的目标,我会很高兴谢谢
// First state of angular module
angular.module('myApp.view1', [])
.controller('View1Ctrl', ['$scope',function($scope) {
$scope.buttonClick = function () {
console.log('This will be logged first time');
}
}]);
// Second state of angular module
angular.module('myApp.view1', [])
.controller('View1Ctrl', ['$scope',function($scope) {
$scope.buttonClick = function () {
console.log('This will be logged the second time');
}
}]);
<button ng-click="buttonClick()">Button</button>
答案 0 :(得分:0)
然而,重新定义角度模块并不是一件很时髦的事情。
您只需定义angular.module('YourAppModule', ['Dependencies']);
这将覆盖您之前引导的模块。
答案 1 :(得分:0)
我已针对此问题提出了功能请求,但遗憾的是它被拒绝了,这是可以理解的。有关详细信息,请访问:https://github.com/angular/angular.js/issues/14743#issuecomment-224868610