我的指令工作正常,顯示所有趨勢標籤。該指令在$ scope對象中查找trendingTag屬性。所以,我有範圍:真正角度指令,範圍:真,並將屬性添加到範圍
app.directive('ngTrending', function() {
return {
restrict: 'E'
, transclude: true
, replace: true
, scope: true
, templateUrl: '/resources/ngViews/trending.html'
};
});
現在我想基於指令屬性可以根據選項來配置它(如只讀=「真」)。並基於attirbute這樣THT
<ng-trending></ng-trending>
生成啓用行動的趨勢標籤能夠有條件地更改模板的次要方面。雖然
<ng-trending read-only="true"></ng-trending>
生成標籤,但禁用了點擊。如何在指令上對範圍進行編碼,以便我仍繼承託管該指令的控制器的範圍,例如
<div ng-controller="fancy">
<ng-trending></ng-trending>
</div>
現在就是這種情況(在指令模板的內部,我引用了fancyContrilers $ scope.trendingTags屬性)。但是在指令的模板中,我想引用$ scope中的「只讀」。
它只是在我看來,我正在接近這完全錯誤的,我可能想要通過趨勢標籤以及...我很困惑 - 請幫助理清我!
謝謝。
如果你不想改變你的指令的範圍,我認爲你可以在'link'函數中檢查屬性('attrs.readOnly'會給你一個字符串值)。你可以使用'scope。$ eval(attrs。readOnly)'或'$ parse'來進行單向和雙向綁定。 – jpmorin
@ jpmorin的建議對我很好。這不是要養成的習慣,儘管在某些情況下它可以有效。 –