一切都在DOM中工作。正在创建元素。然而,插件无法渲染模板。我做错了什么?问题是,我不知道如果插件失败或Angular指令不能正常工作?
请在这里查看:http://plnkr.co/edit/Mcw307YxPDtuHXzZVxUO?p=preview
几点:
scope.$watch
用于监视隔离作用域属性,而不是属性,对于监视属性,您需要使用attrs.$observe
。在这里传入指令模板是什么意思:
<div class="owl-carousel" data="data" options="{items : 4, scrollPerPage : true }" template="'item.html'" ></div>
你已经把指令定义中的指令模板作为templateUrl
传递了。
当你传递一个变量给你的指令时,如果这个变量是你期望经常改变的东西,你希望你的UI绑定相应地更新,就像这里的图像数组一样,你应该真正使用一个隔离的作用域,而不是一个属性来传递数据给指令。你可以使用属性,但有几个问题,首先你必须通过评估它(使用
{{}}
),将你的属性传递给指令,否则它会作为字符串"data"传递给指令:
<div class="owl-carousel" data="{{data}}"
:
<div class="owl-carousel" data="data"
后一种情况是可以的,如果您通过隔离作用域传递din data
。
参见working plunk