gpt4 book ai didi

javascript - 在其模板中使用 Angular Directive 属性

转载 作者:行者123 更新时间:2023-12-03 02:04:57 24 4
gpt4 key购买 nike

如何在指令中使用属性的值?我的元素如下所示:

<div class="tooltip-icon" 
data-my-tooltip="click"
data-tooltip-title="foo"
data-tooltip-content="test content"></div>

我想在我的指令模板中使用它,如下所示:

mainApp.directive('myTooltip',
function() {

// allowed event listeners
var allowedListeners = ["click"];

return {
restrict: 'A',
template: '<div class="tooltip-title">...</div>' +
'<div class="tooltip-content">' +
'...</div>',
link: function(scope, elm, attrs) {
if(allowedListeners.indexOf(attrs.myTooltip) != -1){
elm.bind(attrs.myTooltip, function(){
...
});
}

}
};
}
);

三点所在的位置应该有代码,但我不知道如何将 attrs 对象(attrs.tooltipTitle 等)的内容获取到该模板中。

最佳答案

您可以拉出属性并将它们放入指令的范围内,如下所示:

angular.module('myApp', []).
directive('myTooltip', function ($log) {
// allowed event listeners
var allowedListeners = ["click"];
return {
restrict: 'A',
template: '<div class="tooltip-title">{{tooltipTitle}}</div>' +
'<div class="tooltip-content">' +
'{{tooltipContent}}</div>',
scope: {
tooltipTitle: '@tooltipTitle',
tooltipContent: '@tooltipContent'
},
link: function (scope, elm, attrs) {
if (allowedListeners.indexOf(attrs.myTooltip) != -1) {
elm.bind(attrs.myTooltip, function () {
$log.info('clicked');
});
}

}
};
});

这是 fiddle :http://jsfiddle.net/moderndegree/f3JL3/

关于javascript - 在其模板中使用 Angular Directive 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17345302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com