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 に答える