0

我想在点击特定 URL 时加载文件,但我还没有成功:

这就是我的代码的样子:

.state('admin.resources', {
            url: '/resources',
            templateUrl: 'views/admin/resources.html',
            controller: 'ResourceController as res',
            resolve: {
                loadMyFiles: function ($ocLazyLoad) {
                    return $ocLazyLoad.load({
                        name: 'venture',
                        files: [
                            'bower_components/angular-ui-tinymce/src/tinymce.js'
                        ]
                    })
                }
            }
        })

如果我像这样将它包含在 index.html 中,它就可以正常工作:

<script type="text/javascript" src="bower_components/angular-ui-tinymce/src/tinymce.js"></script>

我不想从 index.html 加载 id,因为我不想在网站加载后加载该页面。我需要该脚本在单独的页面上。

有什么建议吗?

4

1 回答 1

0

为了使用 oclazyload,您需要将其放在resolve属性中:

$stateProvider.state('index', {
  url: "/", // root route
  views: {
    "lazyLoadView": {
      controller: 'AppCtrl', // This view will use AppCtrl loaded below in the resolve
      templateUrl: 'partials/main.html'
    }
  },
  resolve: { // Any property in resolve should return a promise and is executed before the view is loaded
    loadMyCtrl: ['$ocLazyLoad', function($ocLazyLoad) {
      // you can lazy load files for an existing module
             return $ocLazyLoad.load('js/AppCtrl.js');
    }]
  }
});

使用您的路由器对所有内容进行了解释和详细记录。

于 2016-03-13T07:35:23.227 回答