在angularjs自定义指令中使用时,ui-view不起作用

时间:2014-02-24 17:30:31

标签: javascript angularjs angularjs-directive angular-ui-router

我想在自定义angularjs指令

中包含一些ui-view元素
<wrapper>
    <ul>
      <li><a ui-sref="route1">Route 1</a></li>
      <li><a ui-sref="route2">Route 2</a></li>
    </ul>

    <div class="well" ui-view="viewA"></div>        
    <div class="well" ui-view="viewB"></div>        
</wrapper>

自定义指令除了转录内容外什么都不做:

myapp.directive('wrapper', function($compile){
    return {
        restrict: 'E',
        replace: true,
        transclude:true,
        template: '<div class="godWrapper" ng-transclude></div>'
    };
});

请参阅 Plunker

中的演示

似乎ui-view不喜欢被包装,因为当我删除包装元素时,演示工作没有问题。这是ui-router中的错误还是我做错了什么?

更新

显然这是一个已知问题。 Issue 774Issue 886

1 个答案:

答案 0 :(得分:6)

很抱歉回答我自己的问题,但经过一些角度ui-router已知问题和源代码的潜水后,我发现问题出在最新版本的angular-ui-router( 0.2.8 < / strong>)正如here中所讨论的那样。以下演示使用 0.2.7 版本,没有提到的问题。也许这对其他人有用

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