angularjs – 当嵌套的ui-views存在时,如何定位特定的ui-view元素

前端之家收集整理的这篇文章主要介绍了angularjs – 当嵌套的ui-views存在时,如何定位特定的ui-view元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
想象一下html如下:
<body ng-app="blocksApp">

Some content goes here

<div ui-view="monty">

    <div ui-view="dave">Aaa</div>
    <div ui-view="pete">Bbb</div>
    <div ui-view="steve">Ccc</div>

</div>

</body>

使用ui-router,有没有办法编写一个状态,将“dave”设置为一个新的html片段,同时保持其他所有内容不变.

例如我想这样做:

$stateProvider
        .state('daveonly',{
            url: "/dave",views:{
                'dave':{template:"Dave now has content"}
            }
        })

我无法让它发挥作用.我想这样做的原因是有时我想用部分更新替换’Dave’,有时我想用部分更新替换整个’monty’.似乎ui-router不喜欢在同一个html片段中嵌套ui-views.

从一个角度来看,我想建议:

>将HTML代码移动到’.tpl.html’文件
>使用’templateUrl’而不是’template’

并检查以下内容是否适合您:

$stateProvider.state("daveonly",{
    views: {
        "dave": {
            templateUrl: 'daveonly.tpl.html',},"pete": {
            templateUrl: 'pete.tpl.html',"steve": {
            templateUrl: 'steve.tpl.html',}    
});

有关详细信息,请查看page1page2.

但是从另一个角度来看,仅使用一个ui-view并重新设计当前的ui-views以成为具有控制器/服务的适当指令可能更有用:使用带有控制器/服务的指令可以帮助正确地管理部分重新加载和写单元测试.

猜你在找的Angularjs相关文章