【发布时间】:2014-07-19 00:56:08
【问题描述】:
尝试将 RoyalSlider 作为指令加载。这是我的指令,虽然我不确定为什么,但在第一次加载时有效,但在后续加载时无效:
app.directive('royalSlider', ['$timeout', function($timeout) {
$(".royalSlider").royalSlider({
keyboardNavEnabled: true,
arrowsNav: true,
arrowsNavHideOnTouch: true,
imageScaleMode: 'fill',
slidesSpacing: 0
});
}]);
出现错误:
TypeError: Cannot read property 'compile' of undefined
假设问题是在所有内容完成后加载,我将其更改为:
app.directive('royalSlider', ['$timeout', function($timeout) {
return {
link: function ($scope, element, attrs) {
$scope.$on('$viewContentLoaded', function () {
$(".royalSlider").royalSlider({
keyboardNavEnabled: true,
arrowsNav: true,
arrowsNavHideOnTouch: true,
imageScaleMode: 'fill',
slidesSpacing: 0
});
})
}
}
}]);
什么都没有发生。 $timeout 也在那里,因为我也尝试过这个技巧,但无济于事。
【问题讨论】:
标签: javascript jquery angularjs