如何从Angular指令运行一次jQuery插件
How to run a jQuery plugin once from a Angular Directive?
我确信我想要实现的目标很容易,但在使用Angular
两天后,我仍然停滞不前。
JS
var app = angular.module('mays', []);
app.controller('Slider', function ($scope) {
$scope.sliderItems = [
{
number: 1,
title: 'Goals',
text: 'We did stuff and stuff'
}
];
});
//A directive is what I believe I need.
//JS Plugin
app.directive('sliderDirect', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
$('.slider').royalSlider();
}
};
});
我必须承认,jQuery对我来说太夸张了,但我很懒,想尽快开始。
HTML/Jade
ul(class='slider royalSlider rsDefault', ng-repeat='item in sliderItems', ng-model='sliderDirect')
li
h1 {{item.title}}
p {{item.text}}
img(ng-src='/img/news/{{item.number}}.jpg')
基本上,我所需要的只是在Angular
构建了markup
之后运行的插件。
您将指令添加为属性,而不是模型:
ul(class='slider royalSlider rsDefault', ng-repeat='item in sliderItems', slider-direct)
Angular将自动将camel大小写指令转换为以下sliderDirect
->slider-direct
,以便在HTML中使用。如果您希望指令应用于属性为的元素,还应该针对link
函数中的element
变量
return {
restrict: 'A',
link: function(scope, element, attrs) {
$(element).royalSlider();
}
};
相关文章:
- 每次鼠标悬停触发一次 jquery 效果
- 只执行一次jquery animate
- 调用一次jQuery函数
- 如何在上一次 JQuery 调用后访问 DOM
- 为什么我的Javascript全局变量只更新一次?jQuery最后一个子选择器错误
- 如何从Angular指令运行一次jQuery插件
- 如何在一个页面、每个会话中只触发一次jquery函数
- 鼠标悬停只工作一次?JQuery
- 每15秒运行一次jquery函数
- PHP重定向破坏ajax,所以强制一次Jquery页面刷新
- 我们如何只加载一次jquery函数
- 每x秒调用一次jQuery函数(对象文字模式)
- 每次调用只切换一次jQuery动画
- 如何只执行一次Jquery代码?
- 检查iFrame是否加载.一次.Jquery
- 点击里面的点击功能导致警告信息显示不止一次- Jquery/Javascript
- 如何在滚动上只运行一次jQuery动画?
- 如何每n秒运行一次jQuery load()请求
- 每隔5秒在一个元素上重复运行一次jQuery.click事件
- 如何只执行一次Jquery代码