angularjs 指令 - 嵌入非预期工作

angularjs directive - transclude non working as expected

我正在编写一个子菜单指令,但由于某种原因我无法正确使用嵌入。我已经阅读并观看了一些视频,但它仍然无法在我的应用程序上运行,我也不知道为什么。

我是这样调用指令的:

<my-submenu>
  <div ng-click="test()">Test</div>
  <div ng-click="test2()">Test 2</div>
  <div ng-click="test3(id, type)">Test 3</div>
  <div ui-sref="test ({id: id})">Test 4</div> 
</my-submenu>

指令 js 是:

  {
    link: linkFunction,
    restrict: 'E',
    replace: true,
    transclude: true,
    templateUrl: './directives/submenu.tpl.html'
  }

指令模板是:

<div>
    <!-- Menu Icon -->
    <div class="icon ion-plus"></div>
    <!-- Menu -->
    <div>
        <div ng-transclude></div>
    </div>
</div>

现在,我虽然使用了 transclude 并告诉指令模板在哪里进行 transclude,但我应该能够将内容添加到指令模板以及我从父级调用的内容,并将其编译在一起,但它并没有这样做。

编译后的代码如下:

<my-submenu>
 <div>
  <div ng-click="test()">Test</li>
  <div ng-click="test2()">Test 2</li>
  <div ng-click="test3(id, type)">Test 3</li>
  <div ui-sref="test ({id: id})">Test 4</li>
 </ul>
</my-submenu>

如您所见,嵌入前的图标消失了,根本不显示。为什么?

我在嵌入中做错了什么?谢谢

我用和你一样的方法做的,它工作正常..

我的指令:

myApp.directive('toolbarItem', function() {
return {
    transclude:true,
    restrict: 'E',
    scope: {},
    link: function(scope, element, attrs) {
    },
    templateUrl:'/toolbarItem.html'
}

});

还有我的模板:

<div class="item" ng-transclude></div>