加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 重新打开并将依赖项添加到已经引导的应用程序

发布时间:2020-12-17 09:10:14 所属栏目:安全 来源:网络整理
导读:有没有办法注册一个已延迟的依赖到已经引导的角模块?这里是我的意思: 说我有一个网站范围的角度应用程序,定义为: // in app.jsvar App = angular.module("App",[]); 并在每一页: html ng-app="App" 后来,我重新打开应用程序,以根据当前页面的需要添加
有没有办法注册一个已延迟的依赖到已经引导的角模块?这里是我的意思:

说我有一个网站范围的角度应用程序,定义为:

// in app.js
var App = angular.module("App",[]);

并在每一页:

<html ng-app="App">

后来,我重新打开应用程序,以根据当前页面的需要添加逻辑:

// in reports.js
var App = angular.module("App")
App.controller("ReportsController",['$scope',function($scope) {
  // .. reports controller code
}])

现在,说,那些按需的逻辑位也需要自己的依赖(如ngTouch,ngAnimate,ngResource等)。如何将它们附加到基本应用程序?这似乎不工作:

// in reports.js
var App = angular.module("App",['ui.event','ngResource']); // <-- raise error when App was already bootstrapped

我意识到我可以提前做一切,即 –

// in app.js
var App = angular.module("App",'ngResource','ngAnimate',...]);

或者自己定义每个模块,然后将所有内容注入主应用程序(see here for more):

// in reports.js
angular.module("Reports",'ngResource'])
.controller("ReportsController",function($scope) {
  // .. reports controller code
}])

// in home.js
angular.module("Home",['ngAnimate'])
.controller("HomeController",'$http',function($scope,$http){
  // ...
}])

// in app.js,loaded last into the page (different for every page that varies in dependencies)
var App = angular.module("App",['Reports','Home'])

但这将需要我每次使用当前页面的依赖性初始化应用程序。

我喜欢在每个页面中包含基本的app.js,并简单地介绍每个页面(reports.js,home.js等)所需的扩展,而无需在每次添加或删除某些内容时修改引导逻辑。

当应用程序已经被引导时,是否有一种方法来引入依赖关系?什么是被认为是惯用的方式(或方式)做到这一点?我倾向于后一个解决方案,但想看看我描述的方式是否也可以做到。谢谢。

我解决了这样:

再次引用应用程序:

var app = angular.module('app');

然后将新的需求推送到requirements数组:

app.requires.push('newDependency');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读