当我使用angularjs和onsen ui开发我的hybird app时,有一个关于Error的错误; [jqLit​​e:nosel]

时间:2015-11-06 19:32:12

标签: jquery angularjs onsen-ui monaca

我想定义一个direcrive,代码如下:

var module = ons.bootstrap('my-app', ['onsen','ngSanitize']);

module.directive("dyCompile", ["$compile", function($compile) {
    return {
        restrict: 'EA',
        link: function(scope, elm, iAttrs) {
            var DUMMY_SCOPE = {
                    $destroy: angular.noop
                },
                root = elm,
                childScope,
                destroyChildScope = function() {
                    (childScope || DUMMY_SCOPE).$destroy();
                };

            iAttrs.$observe("html", function(html) {
                destroyChildScope();
                childScope = scope.$new(false);
                var content = $compile(html)(childScope);
                root.replaceWith(content);
                root = content;

                scope.$on("$destroy", destroyChildScope);
            });
        }
    };
}])

HTML就像这样:

<div class="arInfo">
        <dy-compile html="bodyText">
        </dy-compile>
</div>

头部是:

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<script src="components/loader.js"></script> 

<script src="./js/jquery-2.1.4.js"></script>

<script src="./js/angular-sanitize.js"></script>
<script src="./js/winstore-jscompat.js"></script>    

<script src="./js/script.js"></script>
<script type='text/javascript' src='//cdnjs.cloudflare.com/ajax/libs/angular-loading-bar/0.7.1/loading-bar.min.js'></script>
<link rel='stylesheet' href='//cdnjs.cloudflare.com/ajax/libs/angular-loading-bar/0.7.1/loading-bar.min.css' type='text/css' media='all' />
<link rel="stylesheet" href="components/loader.css">
<link rel="stylesheet" href="css/style.css">    
<link rel="stylesshet" href="components/monaca-onsenui/js/angular/angular-csp.css">

但是当我运行我的应用时,出现错误: &#34;错误:[jqLit​​e:nosel] jqLit​​e不支持通过选择器查找元素!请参阅:http://docs.angularjs.org/api/angular.element &#34;

我想也许原因可能是加载angularjs和jquery的顺序是不正确的,但正如你所见,我首先加载jquery,我真的不知道这个的原因,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

我看不到你对'angular.js'的负担。它是由'components / loader.js'脚本完成的吗?

在这种情况下,你在加载jQuery之前加载'angular.js'会导致jqLit​​e错误。

将jQuery的负载置于'components / loader.js'

的负载之上