templateUrl在ui-router中是否有用

时间:2017-03-14 09:46:37

标签: angular-ui-router

是否可以在 ui-router 中使用 templateUrl 而不是嵌入式模板?如果是,哪种方法更好?

1 个答案:

答案 0 :(得分:1)

是的,您可以在ui-router中使用templateUrl。

.state('stateName', {
    templateUrl: 'path/to/template',
    controller: 'someController'
});

但这是最好的方法是一个技巧问题。这一切都与你如何使用国家有关。例如,

  1. 如果你使用angular 1.5组件,并且需要将其称为页面,那么最好使用template;
  2. .state('stateName', { template: '<component-name></component-name>' });

    这是组件最常见的方法之一。如果您使用的ui-router版本高于1.5,那么您也可以执行以下操作,

    .state('stateName', {
         component: 'component-name'
     })
    
    1. 如果您使用的是单独的模板和控制器,最好使用templateUrl,
    2. .state('stateName', { templateUrl: 'path/to/template', controller: 'someController' })

      但直接写下面的html被认为是不好的做法

      .state('stateName', {
          templateUrl: '<div><p>never do this</p></div>', 
          controller: 'someController'
      });