Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从AngularJS控制器正确调用jQuery_Jquery_Jquery Ui_Angularjs - Fatal编程技术网

如何从AngularJS控制器正确调用jQuery

如何从AngularJS控制器正确调用jQuery,jquery,jquery-ui,angularjs,Jquery,Jquery Ui,Angularjs,我正在尝试将jQueryUI选项卡用于AngularJS 参见示例 问题是调用jQuery(#tabs”).tabs()似乎连接了“tabbify”某些东西所需的“一半” 想法?您根本不应该在控制器中进行DOM操作。相反,您应该使用指令 我一直在开发一套供自己使用的指令: 其原理是将这段简单的代码放到指令文件中: .directive('maketab',function() { return function(scope, elm, attrs) { e

我正在尝试将jQueryUI选项卡用于AngularJS

参见示例

问题是调用
jQuery(#tabs”).tabs()似乎连接了“tabbify”某些东西所需的“一半”


想法?

您根本不应该在控制器中进行DOM操作。相反,您应该使用指令

我一直在开发一套供自己使用的指令:

其原理是将这段简单的代码放到指令文件中:

.directive('maketab',function() {
        return function(scope, elm, attrs) {
            elm.tabs({
                show: function(event, ui) {
                        scope.$broadcast("tabChanged",ui);
                }
            });
        };
    })
然后,在要转换为选项卡的div中:

<div id="mytab" maketab>

<ul>
....
</ul>

<div>...</div>
...
</div>

    ....
... ...
注意,div及其子结构应该符合jqueryui的要求


要获得更健壮的示例和更多组件,请查看github repo。

我也遇到了同样的问题,甚至应用了指令内容(如您所见)嘿@ganaraj,您能以编程方式绑定单击处理程序吗?我正在构建一个应用程序,以图形方式构建表关系(来自json)。假设我右键单击时想在画布上添加一个新表。我该怎么做呢?我对angular很陌生,但对Js或Jquery不熟悉。@berto77你可以。我建议您注意指令中的所有内容,因为这似乎是最符合逻辑的地方。我一直在想一种让angular和canvas一起工作的方法。我不确定它们是否适合彼此,因为它们针对不同的用例……angular适用于web应用程序,canvas适用于游戏(我认为这是不同的场景)@ganaraj我不同意。我目前正在构建一个WebGL浏览器策略游戏。目前我有一个带有jquery ui覆盖的画布。对于在ui组件中使用angular,我感到非常兴奋,但画布仍然是绘制宇宙的核心元素。@mattblang你不同意什么?如果你把一个指令放在画布上,处理指令中的所有东西,这几乎使angular赋予的所有权力无效,不是吗?在画布中操纵像素看起来非常“DOM操纵”,因此它似乎不适合控制器内部。。