[解決済み] AngularJSディレクティブから属性にアクセスする
2023-02-03 18:58:21
質問
私の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');
}
},
}
})
すべてうまくいきますが、例外として
attrs.tooltip
という式があり、これは常に
undefined
を返しますが、たとえ
tooltip
属性は、Google Chrome の JavaScript コンソールで
console.log(attrs)
.
何か提案はありますか?
更新: 解決策はArtemによって提供されました。それは、このようにすることでした。
link: function(scope, element, attrs) {
attrs.$observe('tooltip', function(value) {
if (value) {
element.addClass('tooltip-title');
}
});
}
AngularJS + stackoverflow = 至福の時。
どのように解決するのですか?
セクションを参照 属性 をご覧下さい。
補間された属性の観察 : 補間処理を含む属性(例:src"{{bar}}")の値の変化を観察するために$observeを使用します。これは非常に効率的であるだけでなく、実際の値を簡単に取得できる唯一の方法です。なぜなら、リンク段階ではまだ補間が評価されていないため、この時点では値は未定義に設定されています。
関連
-
[解決済み】npm UNMET PEER DEPENDENCYの警告を修正するにはどうすればいいですか?
-
[解決済み] ページロード時にAngularJSのコントローラ関数を実行する方法は?
-
[解決済み] data-ng-file-selectが動作しないのはなぜですか?
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] angular.serviceとangular.factoryの比較
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
-
[解決済み] Angularでtransclude 'true'とtransclude 'element'を使用するタイミングは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】npm UNMET PEER DEPENDENCYの警告を修正するにはどうすればいいですか?
-
[解決済み】TypeError: window.initMap is not a function
-
[解決済み】angularのonLoadとng-initの違いについて
-
[解決済み] select 要素のデフォルト値を設定するための ng-option の使用方法
-
[解決済み] ディレクティブ '...' が要求するコントローラ 'ngModel' が見つかりません。
-
[解決済み] AngularJS : ローカルストレージを使用する
-
[解決済み] ng-pattern` - 数字だけをチェックする方法は?
-
[解決済み] ng-repeat内のng-click関数にパラメータを追加しても、うまくいかないようです。
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
-
[解決済み】AngularJSのテンプレートで三項演算子