Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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+;带有Karma和Jasmine的Jquery Draggables测试问题_Angularjs_Jasmine_Karma Runner - Fatal编程技术网

Angularjs+;带有Karma和Jasmine的Jquery Draggables测试问题

Angularjs+;带有Karma和Jasmine的Jquery Draggables测试问题,angularjs,jasmine,karma-runner,Angularjs,Jasmine,Karma Runner,我有一个angular应用程序,需要一点jquery来完成复杂的ui拖放操作。为此,我使用jQueryUIDragables 它们工作得很好,但是我不知道如何将karma/jasmine单元测试应用到控制器上 我的所有其他控制器都经过测试,没有出现问题,但是这个包含jQuery的特定控制器正是给我带来问题的控制器 我正在接受这个业力错误: INFO [karma]: Karma v0.10.9 server started at http://localhost:9876/ INFO [laun

我有一个angular应用程序,需要一点jquery来完成复杂的ui拖放操作。为此,我使用jQueryUIDragables

它们工作得很好,但是我不知道如何将karma/jasmine单元测试应用到控制器上

我的所有其他控制器都经过测试,没有出现问题,但是这个包含jQuery的特定控制器正是给我带来问题的控制器

我正在接受这个业力错误:

INFO [karma]: Karma v0.10.9 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket c8iF8rN90zbXSoEYRJzC
PhantomJS 1.9.7 (Mac OS X) ERROR
ReferenceError: Can't find variable: $
我听说最好将jQuery位移动到指令。你能给我介绍一下这个箱子吗

我正在控制器内以这种方式创建选项卡。目前UI运行良好,但正如我所说的,它是不可测试的

$scope.addSortables = function (){
    //ordering locations
    $(".dummy-widget .days-container .locations").sortable({
        "stop" : function (ui, event){

            refreshLocations(ui, event);

            PreviewManager.enableTabs();
        }
    });
}
非常感谢Angular使用jQuery而不是jQuery,但是如果您在加载Angular之前加载jQuery,它会很高兴地使用jQuery。一旦您这样做了,您就不需要依赖全局
$
angular.element
将成为您的首选元素

那么,您是否记得在Karma配置中加载jQuery?它应该如下所示:

    // in karma config
    files: [
        'vendor/jquery/dist/jquery.js',
        'vendor/angular/**/*.js',
        'src/app/**/*.js',
        'spec/**/*.spec.js'
    ],
另一件事是,您应该尽量避免在控制器中直接进行DOM操作;改用指令。关于编写角度指令有一个很好的教程

希望这能有所帮助。

Angular使用jQuery而不是jQuery,但如果您在加载Angular之前加载它,它会很高兴地使用jQuery。一旦您这样做了,您就不需要依赖全局
$
angular.element
将成为您的首选元素

那么,您是否记得在Karma配置中加载jQuery?它应该如下所示:

    // in karma config
    files: [
        'vendor/jquery/dist/jquery.js',
        'vendor/angular/**/*.js',
        'src/app/**/*.js',
        'spec/**/*.spec.js'
    ],
另一件事是,您应该尽量避免在控制器中直接进行DOM操作;改用指令。关于编写角度指令有一个很好的教程

希望这能有所帮助。

Angular使用jQuery而不是jQuery,但如果您在加载Angular之前加载它,它会很高兴地使用jQuery。一旦您这样做了,您就不需要依赖全局
$
angular.element
将成为您的首选元素

那么,您是否记得在Karma配置中加载jQuery?它应该如下所示:

    // in karma config
    files: [
        'vendor/jquery/dist/jquery.js',
        'vendor/angular/**/*.js',
        'src/app/**/*.js',
        'spec/**/*.spec.js'
    ],
另一件事是,您应该尽量避免在控制器中直接进行DOM操作;改用指令。关于编写角度指令有一个很好的教程

希望这能有所帮助。

Angular使用jQuery而不是jQuery,但如果您在加载Angular之前加载它,它会很高兴地使用jQuery。一旦您这样做了,您就不需要依赖全局
$
angular.element
将成为您的首选元素

那么,您是否记得在Karma配置中加载jQuery?它应该如下所示:

    // in karma config
    files: [
        'vendor/jquery/dist/jquery.js',
        'vendor/angular/**/*.js',
        'src/app/**/*.js',
        'spec/**/*.spec.js'
    ],
另一件事是,您应该尽量避免在控制器中直接进行DOM操作;改用指令。关于编写角度指令有一个很好的教程

希望这有帮助