我正在使用JStree,它使用Jquery。我在JStree中执行某些操作时会显示一个引导模式,例如在节点上检查/取消选中。我使用ng-show="showonclickinJStree"
id="showonclickinJStree"
隐藏了模态。
如果我在jquery函数中设置$scope.showonclickinJStree = true
,它就不起作用。不显示模态。
只有当我使用$('#showonclickinJStree').modal('show');
模态出现时才会显示。
我可以知道为什么吗?是不允许在Jquery函数中使用AngularJS定义?
我知道不建议使用两种不同的方法。但只是想知道它是如何支持的。
答案 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