使用指令作为li元素

时间:2017-08-02 15:00:05

标签: javascript html css angularjs angularjs-directive

所以我想显示Bootstrap的下拉菜单:http://getbootstrap.com/components/#dropdowns

然而,我的li元素是包含li:

的指令
 <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
      <li><a href="#">Action</a></li>
      <li><a href="#">Another action</a></li>
      <li><a href="#">Something else here</a></li>
      <my-directive></my-directive>
</ul>

my-directive的html模板是一个简单的li标签:

      <li><a href="#">Directivelink</a></li>

然而,当我这样做的时候,我的指令里面的li不会像其他的一样被设置样式,因为bootstrap由于标签而无法识别它

我该如何解决这个问题,或者有什么可能呢?我需要将li封装在一个指令中,因为有额外的逻辑。

1 个答案:

答案 0 :(得分:0)

使用指令上的replace选项,例如:

app.directive('myListItem', function(){
  return {
    template: '<li>directive template1</li>',
    replace: true
  }
});

这样,插入到DOM中的html将被模板中的任何内容替换。