আমার AngularJS টেমপ্লেটে কিছু কাস্টম এইচটিএমএল সিনট্যাক্স রয়েছে:
<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)
।
যেকোনো পরামর্শ?
আপডেট: আর্টেমের দ্বারা একটি সমাধান দেওয়া হয়েছিল। এটি করাতে এটি জড়িত:
link: function(scope, element, attrs) {
attrs.$observe('tooltip', function(value) {
if (value) {
element.addClass('tooltip-title');
}
});
}
কৌণিক জেএস + স্ট্যাকওভারফ্লো = পরমানন্দ