如何在角度中延迟加载控制器



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

$scope.loadView4Ctrl = function () {
    console.log('loadview4ctrl');
    $ocLazyLoad.load({
        name: "View4",
        files: [
            'view4/view4.js'
        ]
    });
};

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

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

'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.';
    });

这是代码

分辨率

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

RCA

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

我确实从 GitHub 克隆了您的代码来测试上述分辨率,它可以:)

希望对您有所帮助!

相关内容

  • 没有找到相关文章

最新更新