首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在angular中延迟加载控制器?

如何在angular中延迟加载控制器?
EN

Stack Overflow用户
提问于 2018-01-09 08:12:00
回答 1查看 58关注 0票数 1

在我的angularjs应用程序中,我尝试像这样延迟加载一个控制器:

代码语言:javascript
复制
$scope.loadView4Ctrl = function () {
    console.log('loadview4ctrl');

    $ocLazyLoad.load({
        name: "View4",
        files: [
            'view4/view4.js'
        ]
    });
};

当我运行这个的时候,我的view4Ctrl没有加载吗?如何通过ocLazyLoad运行此控制器?

这是我试图加载的控制器:

代码语言:javascript
复制
'use strict';

console.log('loading file containing view4Ctrl');
app
    .config(['$routeProvider', function ($routeProvider) {
        $routeProvider.when('/view4', {
            templateUrl: 'view4/view4.html',
            controller: 'view4Ctrl'
        });
    }])
    .controller('view4Ctrl', function () {
        console.log('This is lazy loaded!!!');

        $scope.hello='Good day , I am loaded now.';

    });

这是code

EN

回答 1

Stack Overflow用户

发布于 2018-07-23 20:34:08

解析

在您的view4/view4.js中,将app.config更改为angular.module('myApp').config

RCA

view4.js$ocLazyLoad延迟加载时,app变量的上下文已更改。

我确实从GitHub克隆了你的代码来测试上面的解决方案,并且它起作用了:)

希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48159815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档