删除或重新定义角度模块

时间:2016-06-09 08:07:55

标签: javascript angularjs

以下我希望能够在第一次定义模块,然后稍后更改它。原因是我的模块是动态生成的,一旦一个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>

2 个答案:

答案 0 :(得分:0)

然而,重新定义角度模块并不是一件很时髦的事情。

您只需定义angular.module('YourAppModule', ['Dependencies']);

即可

这将覆盖您之前引导的模块。

答案 1 :(得分:0)

我已针对此问题提出了功能请求,但遗憾的是它被拒绝了,这是可以理解的。有关详细信息,请访问:https://github.com/angular/angular.js/issues/14743#issuecomment-224868610