加载页面时出现以下错误。
错误:未定义初始化 @ http://localhost:8082/js/vendor/jquery-1.11.2.js第339行> EVAL:4:3
我想用jquery的完整版替换jqLite。我已经阅读了关于这个主题的几个stackoverflow问题,他们暗示所有需要的是在angularjs之前加载jquery。我通过简单地将angular.js上的jquery声明移动来完成此操作。当我这样做时,就是发生上述错误。当我将jquery移动到angularjs下面时,它不会给出错误但是我不能使用angular.element这样的东西。
我做错了什么?
至于为每个库加载javascript,我正在做的是。
<script type='text/javascript' src="js/vendor/jquery-1.11.2.js"></script>
<script type='text/javascript' src="js/vendor/angular.js"></script>
就使用jquery而不是lqlite而言,我只是尝试使用angular.element
var someElement = angular.element('#someelement');
我在DOMContentLoaded之前读了一个加载jquery的blurb。我不知道该怎么做。我知道如何为DOMContentLoaded编写事件处理程序,但我该怎么做。
答案 0 :(得分:2)
编辑回答:我通常在IFFE内部的标题中注入我的JS脚本代码。您还必须确保在那里有ng-app来指定模块。最后,我确保在代码之前确实将依赖代码包含在标题中。 请参阅小提琴here
<head>
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js"></script>
<script>
(function() {
var testApp = angular.module("testApp", []);
function SomeController($scope) {
console.log('Started controller');
$scope.dirPanelElement = angular.element('#some-panel');
$scope.dirPanelElement.text('set test');
$scope.dirPanelElementText='got "'+$scope.dirPanelElement.text()+'" from panel'
}
testApp.controller("SomeController", SomeController);
})(); // IFFE
</script>
</head>
<body ng-app='testApp'>
<div id="content">
<div style="padding:50px">
<div data-ng-controller="SomeController">
<p align="center">Something</p>
<div id="some-panel"></div>
<div id="some-canvas">{{dirPanelElementText}}</div>
</div>
</div>
</div>
</body>