我有一個指令,建立一個自動從HTML收集數據的彈出式菜單。實際上它應該將一組Bootstrap輪播兼容元素轉換爲列表。甲美中不足的是,每個.item
攜帶具有其字符串值的屬性過濾,如:如何製作指令使用過濾的HTML屬性?
HTML:
<div class="item" data-title="{{'My string' | myfilter}}">
...
</div>
當我指令鏈接到元件,使用該片段:
.directive('sectionBuilder', function(){
return {
priority:100,
restrict: 'C',
link: function(scope, element, attrs){
var data = [];
$('.carousel-inner > .item', '#carousel').each(function(i, el){
data.push({k: i, v: $(el).attr('data-title')})
});
}
}
})
我得到一個HTML中使用的原始未處理字符串菜單:
{{'My string' | myfilter}}
{{'My string 2' | myfilter}}
據我所知,attrs。$ observe適用於綁定到指令的元素的屬性,但不適用於外部元素。
如何獲得角度以使用過濾後的字符串?我試圖將優先級設置爲極端值,但無濟於事。
謝謝,@pankjparkar。不幸的是,它不適合我。 '$(el).attr('ng-attr-data-title')})'也不是'$(el).attr('data-title')})'做這項工作。 – user776686
你是用'ng-repeat'渲染這個元素嗎? –
沒有。這是一個單一的實例。提供菜單項的字符串幻燈片在'$ .each'循環中被採用 – user776686