私のAngularJSテンプレートには、次のようなカスタムHTML構文が含まれています。
<su-label tooltip="{{field.su_documentation}}">{{field.su_name}}</su-label>
それを処理するディレクティブを作成しました:
.directive('suLabel', function() {
return {
restrict: 'E',
replace: true,
transclude: true,
scope: {
title: '@tooltip'
},
template: '<label><a href="#" rel="tooltip" title="{{title}}" data-placement="right" ng-transclude></a></label>',
link: function(scope, element, attrs) {
if (attrs.tooltip) {
element.addClass('tooltip-title');
}
},
}
})
を実行するとGoogle ChromeのJavaScriptコンソールから属性が表示されても、attrs.tooltip
常に返される式を除いて、すべてが正常に機能します。undefined
tooltip
console.log(attrs)
なにか提案を?
更新:Artemによってソリューションが提供されました。それはこれを行うことにありました:
link: function(scope, element, attrs) {
attrs.$observe('tooltip', function(value) {
if (value) {
element.addClass('tooltip-title');
}
});
}
AngularJS + stackoverflow = bliss
別の質問に対するこの回答は、AngularJSで三項を適切に表現する方法を説明しています。
—
Ismael Ghalimi 2012
つまり、これは次のとおりです。「AngularJS + stackoverflow = bliss」
—
twip 2015