2014-11-04 67 views
0

的子元素的值我有這些指令得到指令

app.directive("myarticle",function($timeout){ 
    return { 
    restrict: "E", 
    replace: true, 
    templateUrl: "templates/article.html", 

    link: function(scope, element, attrs) { 

    element.getVal() 
    } 
    , 
    scope: { 
    cat: "=", 
    mainurl: "=" 
} 
    } 

}); 

這裏是指令模板

<div class="span2 "> 
    <a href="#/cat/{{cat.id}}"> link to cat</a> 
</div> 

jQuery的GETVAL功能

(function($) { 

    $.fn.getVal = function() { 

    this.each(function() { 
    var url =$(this).find("a").attr("href"); 
console.log(url); 
}); 
    }; 
})(jQuery); 

的功能是如此長,我試圖簡化它,因爲我可以

我的預期呈現爲「#/貓/ 1」 但什麼是呈現爲「#cats/{{cat.id}}」

所以我怎樣才能表達式的值不表達它自

+0

這裏類似的問題:http://stackoverflow.com/questions/26660495/can-i-得到-編譯-HTML-的-AN-角元件的/ 26660649#26660649 – 2014-11-04 17:36:14

回答

0

你必須使用ng-href(而不是href)在你的模板:

01:摘要週期之後

<div class="span2"> 
    <a ng-href="#/cat/{{cat.id}}"> link to cat</a> 
</div> 

而且在$timeout包裹getVal()方法來檢索href屬性

$timeout(function() { 
    element.getVal(); 
}) 

PS:我不知道你想達到什麼目標,但是將屬性值從你的模板讀入你的範圍絕對不是最佳實踐。一個更好的想法是構建href屬性,在指令中使用它直接在您的視圖(如scope.carUrl = '#/cat/' + cat.id'然後<a ng-href="{{catUrl}}">