gpt4 book ai didi

javascript - 将函数表达式存储在 angularjs 指令的链接函数中并通过 ng-click 使用它

转载 作者:行者123 更新时间:2023-11-30 16:35:14 24 4
gpt4 key购买 nike

我有以下 angularjs 指令,我希望能够使用 ng-click 在 property-slider.html 中执行 showMap()。我错过了什么?

(function() {
'use strict';

angular
.module('myapp')
.directive('propertySlider', propertySlider);

function propertySlider($timeout) {

return {
restrict: 'E',
templateUrl: 'property-slider.html',
replace: true,
scope: {
property: '=',
photos: '='
},
link: function(scope, element) {
$timeout(function(){

var slider = element.flickity({
cellAlign: 'left',
cellSelector: '.gallery-cell',
lazyLoad: true,
wrapAround: true,
initialIndex: 1
});

var showMap = function(){
slider.flickity('select', 0);
};

},500);

}
};

}

})();

最佳答案

两个问题....需要将函数分配给作用域,而您不需要在 $timeout 中创建它

link: function(scope, element) {

scope.showMap = function () {
element.flickity('select', 0);
};

$timeout(function () {

element.flickity({
cellAlign: 'left',
cellSelector: '.gallery-cell',
lazyLoad: true,
wrapAround: true,
initialIndex: 1
});

}, 500);
}

关于javascript - 将函数表达式存储在 angularjs 指令的链接函数中并通过 ng-click 使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32792240/

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