如何在$ stateProvider中使用通用模板?

时间:2014-10-02 15:09:03

标签: javascript angularjs angular-ui

我对AngularJS很陌生,所以请耐心等待。

我有一个应用程序,我想在其中包含常用模板,例如工具栏。 我见过类似(但不是确切)案例中的工作示例:

  • 声明状态父级,其中“abstract”设置为true并声明公共模板
  • 声明一个状态子项,其中“parent”设置为true或使用点表示法并声明特定于该页面的模板

但是这些示例总是使用index.html作为公共元素的容器。

就我而言,这些常见元素只出现在网站的某个部分。

以下是一个例子:

http://plnkr.co/edit/MMAoBXy9btGSqni2dRqL?p=preview

我可以将工具栏声明移动到“hello”状态,但是公共模板必须链接到每个状态,如下所示:

$stateProvider

    .state('listmedias', {
        url : '',
        abstract : 'true',
        views : {
            'main@' : {
                templateUrl : 'hello.tpl.html'
            }
        }
    })

    .state('hello', {
        url : '/hello',
        parent : 'listmedias',
        views : {
            'toolbar' : {
                templateUrl : 'commonelement.tpl.html'
            }
            'container': {
                templateUrl : 'container.tpl.html'
            }
        }
    });

如果网站的某个子部分使用了一些常见元素,我该怎么办?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个,

.state('listmedias', {
  url : '',
  abstract : 'true',
  views : {
    'main@' : {
      templateUrl : 'hello.tpl.html'
    },
    'toolbar@listmedias' : {
      templateUrl : 'commonelement.tpl.html'
    }
  }
})