Я хочу определить директиву, код следующим образом:
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="/loader.js"></script>
<script src="/jquery-2.1.4.js"></script>
<script src="/angular-sanitize.js"></script>
<script src="/winstore-jscompat.js"></script>
<script src="/script.js"></script>
<script type='text/javascript' src='/loading-bar.min.js'></script>
<link rel='stylesheet' href='/loading-bar.min.css' type='text/css' media='all' />
<link rel="stylesheet" href="/loader.css">
<link rel="stylesheet" href="/style.css">
<link rel="stylesshet" href="/angular-csp.css">
но когда я запускаю свое приложение, возникает ошибка: "Ошибка: [jqLite: nosel] Поиск элементов с помощью селекторов не поддерживается jqLite! См. http://docs.angularjs.org/api/angular.element "
Я думаю, может быть, причина в том, что последовательность загрузки angularjs и jquery неверна, но, как вы видите, я сначала загружаю jquery, я действительно не знаю причины этого, кто-нибудь может мне помочь?
Я не вижу вашего груза "angular.js". Выполняется ли сценарий '/loader.js'?
В этом случае вы загружаете "angular.js" перед загрузкой jQuery, которая вызывает ошибку jqLite.
Поместите нагрузку jQuery над загрузкой "/loader.js"