gpt4 book ai didi

没有RequireJS的AngularJs延迟加载

转载 作者:行者123 更新时间:2023-12-04 16:09:59 25 4
gpt4 key购买 nike

在大型应用程序中,我们如何在需要时延迟加载模块、 Controller 、服务而不加载 index.html 中的那些。这里我指的是在相关的模板html中加载整个js,而不是在index.html中。 (可能是具有模块、多个 Controller 、服务、给定功能的指令或具有多个 Controller 或服务的单个 js 文件的不同 js)

我不想使用 RequireJs。但是,我正在寻找 Angular 本身的解决方案。

angular.module( 'my-second-module', ['ui.router'])

.config(function config($stateProvider) {
$stateProvider
.state('mainscreen', {
url: "/mainscreen",
templateUrl: "app/MyMain.tpl.html"
})
.state('mainscreen.sub', {
url: "/sub",
controller: 'subCtrl',
templateUrl: "app/sub.tpl.html"
})
})
.controller( 'subCtrl', function contractCtrl
($scope,$http,$route,$location) {
})
.controller( 'subTwoCtrl', function newContractCtrl($scope,someService,$http,$templateCache) {
.filter('myTypeFilter',function(){
return function (input,value){
return 'Normal';
};
})
.service('newService', function () {
var selectedContract = [];
var hotelObject=[{}];
return {
notes:function () {
},
addNote:function (noteTitle) {
}
};
})
.directive('autocomplete', function($parse) {
return function(scope, element, attrs) {
var setSelection = $parse(attrs.selection).assign;
scope.$watch(attrs.autocomplete, function(value) {
element.autocomplete({
source: value,
select: function(event, ui) {
setSelection(scope, ui.item.value);
scope.$apply();
}
});
});
};
})
.factory('restService', function(commonService) {
return {
setReturnMessage: function(res) {
};
})
});

最佳答案

在做了一些研究后发现 AngularJs 计划在他们的 2.0 版本中实现上述概念。但是,我不确定该版本何时发布,并且该版本的发布还有很长的路要走。

此外,在进行更多研究后发现有一个名为 Browserify 的框架。这将是 RequireJS 的下一个替代品。我相信我们可以将其用于模块化。但是,我还没有用 AngularJs 对此进行过实验。似乎是一个很好的工具。

这也在 ng-conf 中讨论过。 Angular with Browserify

PS。如果有人用 Angular 和 Browserify 进行过测试,非常欢迎您分享您的经验。

关于没有RequireJS的AngularJs延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22759575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com