我们可以在Jquery中使用angularJS吗?

时间:2017-01-12 11:50:59

标签: jquery angularjs jstree

我正在使用JStree,它使用Jquery。我在JStree中执行某些操作时会显示一个引导模式,例如在节点上检查/取消选中。我使用ng-show="showonclickinJStree" id="showonclickinJStree"隐藏了模态。

如果我在jquery函数中设置$scope.showonclickinJStree = true,它就不起作用。不显示模态。 只有当我使用$('#showonclickinJStree').modal('show');模态出现时才会显示。

我可以知道为什么吗?是不允许在Jquery函数中使用AngularJS定义?

我知道不建议使用两种不同的方法。但只是想知道它是如何支持的。

2 个答案:

答案 0 :(得分:0)

您可以将这行代码放在您的元素指令&{39} link函数中:

app.directive('thedirective', function(){
   return {
      restrict:'EA',
      link:function(scope, el, attrs){
        $('#showonclickinJStree').modal('show'); 
      }
   };
});

因为指令的链接功能是您可以实际执行某些DOM操作的地方,并且它主要以标准方式使用。

你的问题:

我可以知道为什么吗?

因为这个$scope.showonclickinJStree = true模式无法触发。这可以在答案中建议的指令中实现,您可以将其更改为:

link:function(scope, el, attrs){
    scope.showonclickinJStree = true;
}

现在正如文档所述,任何外部或角度领域的变化都不会自动反映出来。您需要告诉angular运行摘要周期,以查看$digest()/$apply()方法是否有任何更改。不建议,因为必须明确这样做。

答案 1 :(得分:0)

我想,这不好。你可以在angularjs中使用jquery。 Angularjs是一个框架(基于模块的开发),Jquery是一个库。 Angular有一些足够的jquery功能(JQLite)。

看到一些基本的区别 https://www.quora.com/What-are-the-key-differences-between-jQuery-and-AngularJS