gpt4 book ai didi

javascript - 延迟加载 Angular 应用程序不加载指令

转载 作者:行者123 更新时间:2023-12-03 07:33:27 24 4
gpt4 key购买 nike

我正在尝试使用 ui.router 和 oc.lazyLoad 在我的 Angular 应用程序中延迟加载指令。这是我的代码:

菜单:

<ul>
<li><a ui-sref="home">Home</a></li>
<li><a ui-sref="demo">Demo</a></li>
<li><a ui-sref="test">Test</a></li>
</ul>
<ui-view></ui-view>

路由配置:

angular.module('app', ['ui.router', 'oc.lazyLoad'])
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$stateProvider
.state("demo", {
url:'/demo',
views: {
'lazyLoadView' : {
template: '<demo-directive></demo-directive>'
}
},
resolve : {
loadDemoModule : ['$ocLazyLoad', function($ocLazyLoad) {
console.log('resolving demo lazy load');
return $ocLazyLoad.load('demo.js');
}]
}
})
.state("home", {
templateUrl : 'core/home.html',
url : '/home'
})
}])

和指令:

angular.module('app').
directive('demoDirective', function() {

return {
restrict: 'E',
scope: {},
template: require('./demo-directive.html'),
// templateUrl: 'demo-directive.html',
controllerAs: 'demo',
controller : ['$timeout', function($timeout) {
console.log('in directive controller');
}]
};

});

我没有错误,解析函数中的 console.log 显示,demo.js 文件已加载,但随后发生注意到,控制台表单指令 Controller 未显示。我正在尝试遵循 ocLazyLoad example 中的第一个示例

谢谢

最佳答案

这样延迟加载怎么样。

return $ocLazyLoad.load({
name: 'app.demo',
files: ['path/to/demo.js']
})

关于javascript - 延迟加载 Angular 应用程序不加载指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35719432/

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