搜尋

首頁  >  問答  >  主體

angular.js - angularjs 使用oclazyload 載入ui-grid

$ocLazyLoadProvider配置部分

1

2

3

4

5

6

7

8

<code>          {

              name: 'ui.grid',

              files: [

                  'vendor/modules/angular-ui-grid/ui-grid.min.css',

                  'vendor/modules/angular-ui-grid/ui-grid.min.js'

              ]

          },

</code>


ui-router部分


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<code>.state('app.account.account_M',{

   url:'/account_M',

                  templateUrl:'tpl/account_account_M.html',

                  resolve: {

                     deps: ['$ocLazyLoad',

                        function( $ocLazyLoad ){

                          return $ocLazyLoad.load(['ui.grid']).then(

                              function(){         

                                  return $ocLazyLoad.load('js/controllers/account_M.js');

                              }

                          );

                      }]

                  }

              })

           

</code>

這樣是沒問題的,可是ui-grid把許多功能分開了,要使用的話需要注入,就是要從ui-grid.min.js注入多個
結果我寫成瞭如下
$ocLazyLoadProvider配置部分

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<code>             {

                  name: 'ui.grid',

                  files: [

                      'vendor/modules/angular-ui-grid/ui-grid.min.css',

                      'vendor/modules/angular-ui-grid/ui-grid.min.js'

                  ]

              },

              {

                  name: 'ui.grid.resizeColumns',

                  files: [

                      'vendor/modules/angular-ui-grid/ui-grid.min.css',

                      'vendor/modules/angular-ui-grid/ui-grid.min.js'

                       

                  ]

              },

              {

                  name: 'ui.grid.expandable',

                  files: [

                      'vendor/modules/angular-ui-grid/ui-grid.min.css',

                      'vendor/modules/angular-ui-grid/ui-grid.min.js'

                       

                  ]

              },

           

</code>

ui-router部分

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<code>.state('app.account.account_M',{

                  url:'/account_M',

                  templateUrl:'tpl/account_account_M.html',

                  resolve: {

                     deps: ['$ocLazyLoad',

                        function( $ocLazyLoad ){

                          return $ocLazyLoad.load(['ui.grid','ui.grid.resizeColumns','ui.grid.expandable']).then(

                              function(){         

                                  return $ocLazyLoad.load('js/controllers/account_M.js');

                              }

                          );

                      }]

                  }

              })

           

</code>

但是肯定不能這樣啊,這樣應該重複多次加載了ui-grid.min.js和css了吧,我該怎麼做呢,求指教

漂亮男人漂亮男人2841 天前622

全部回覆(1)我來回復

  • 巴扎黑

    巴扎黑2017-05-15 17:09:58

    1

    2

    3

    4

    5

    6

    7

    8

    <code>{

              name: 'ui.grid.*',

              files: [

                'static/bower_components/angular-ui-grid/ui-grid.min.js',

                'static/bower_components/angular-ui-grid/ui-grid.min.css',

                'static/bower_components/angular-ui-grid/ui-grid.css'

              ]

    }</code>

    之前看到的issues

    回覆
    0
  • 取消回覆