使用angular懒加载,加载css文件可以,但是js文件无效。

使用了通过路由懒加载css文件和js文件的方法,但是css样式表可以成功加载,js文件则没有加载进去。
路由文件

.state('background', {
                url: '/background',
                templateUrl: 'html/background.html',
                //controller:"aaa as vm",
                resolve: {
                    loadMyctrl: ['$ocLazyLoad', function ($ocLazyLoad) {
                        return $ocLazyLoad.load(['js/scroll/scroll.js','css/background/background.css'])
                    }]
                }
            })

触发事件

<div class="B-map" ng-controller="aaa">
    <img src="../image/background/map.png" alt="背景大图" id="B-background">
    <button ng-click="alert()">click</button>
</div>

路由加载的js文件

angular.module("app").controller("aaa", function ($scope) {
    $scope.alert = function () {
        alert(123)
    }
}

点击之后无法正常的跳出提示框

阅读 2.1k
1 个回答

emmmm,最终原因还是我自己没有好好看官方API的锅 - -。下面上结论
当我们加载多个文件时,是需要用中括号'["xxx.css","xxx.js"]'来将所有的加载文件包裹起来,作为一个数组传入,这样就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题