在AngularJS指令中使用Jquery有什么好主意?

时间:2015-06-03 09:26:15

标签: javascript jquery angularjs angularjs-directive

下面你可以看到我的指令代码。

我的问题是:"我可以在指令中使用jquery吗?这是一个好主意吗?如果不是为什么? "

# copy the log to a text file
sink("./logofcode.txt")
Your R code(s) goes here
you can use a stored R code as well using source()
source("./XS_SPEC_CF.R",echo=T, max.deparse.length=1e3)
sink()

P.s此代码有效。

3 个答案:

答案 0 :(得分:6)

你不应该使用jquery,因为Angular本身有一个更轻的版本,称为jqlite。

有关JQLITE

的更多文档

所以你的指令应该是这样的:

outsource.directive('dedicated', function(){

    return {
       restrict: 'E',
       link: function(scope, element, attribute){

             var elem = angular.element(document.querySelector('#klik'))
             angular.element(elem).triggerHandler('click');

       },

       replace: true,
       templateUrl: 'src/app/components/views/dedicated-prices.html'
    };
});

答案 1 :(得分:2)

简单回答:(简单地在HTML页面中引用Angular.js上方的jquery.js.jqLit​​e将被jQuery取代)

你将使用jQuery进行DOM操作&关于这个主题有很多讨论(无论是否在现代浏览器中使用)。

最近一天的热门帖子之一:http://lea.verou.me/2015/04/jquery-considered-harmful/

尽管如此,jQuery仍然是一个非常流行,高度使用的DOM库。并且,它可以无缝地与许多现代UI框架协同工作。

答案 2 :(得分:1)

有趣的问题。我的代码库中的一些指令/控制器中有一些关于元素选择的jquery。

我总觉得使用它并且只在我真正需要的时候才会这样做,不幸的是它几乎总是一颗定时炸弹并导致我在几个月后诅咒自己并重构使用更有棱角的方法。

最后一眼看看是否有一种原生的角度方式来做你想做的事情,你不会后悔!