Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Javascript 执行时出现AngularJS喷油器错误_Javascript_Angularjs_Ajax - Fatal编程技术网

Javascript 执行时出现AngularJS喷油器错误

Javascript 执行时出现AngularJS喷油器错误,javascript,angularjs,ajax,Javascript,Angularjs,Ajax,我正在使用原始的AngularJS(v1.6.6)和jQueryv3.2.1,并试图获得一个基本的股票查询。。。这是我第一次真正修补AngularJS 但出于某种原因,我的控制台甚至在我有机会键入搜索词(如“GOOG”或“AAPL”)之前就报告了一个“注入器”问题。目前,我已将搜索词预填充为默认的“AAPL” Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.6.6/$injector/modulerr?p0=

我正在使用原始的AngularJS(v1.6.6)和jQueryv3.2.1,并试图获得一个基本的股票查询。。。这是我第一次真正修补AngularJS

但出于某种原因,我的控制台甚至在我有机会键入搜索词(如“GOOG”或“AAPL”)之前就报告了一个“注入器”问题。目前,我已将搜索词预填充为默认的“AAPL”

Uncaught Error: [$injector:modulerr] 
http://errors.angularjs.org/1.6.6/$injector/modulerr?p0=myApp&p1=Error%3A%20%5B%24injector%3Anomod%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.6.6%2F%24injector%2Fnomod%3Fp0%3DmyApp%0A%20%20%20%20at%20file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A7%3A76%0A%20%20%20%20at%20file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A26%3A408%0A%20%20%20%20at%20b%20(file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A25%3A439)%0A%20%20%20%20at%20file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A26%3A182%0A%20%20%20%20at%20file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A42%3A290%0A%20%20%20%20at%20p%20(file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A8%3A7)%0A%20%20%20%20at%20g%20(file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A42%3A138)%0A%20%20%20%20at%20hb%20(file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A46%3A250)%0A%20%20%20%20at%20Uc.c%20(file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A22%3A19)%0A%20%20%20%20at%20Uc%20(file%3A%2F%2F%2FE%3A%2FSandbox%2Flibraries%2Fangular.min.js%3A22%3A332
这个错误对我来说毫无意义。。。有人能告诉我我的代码(如下所示)可能有什么问题吗

HTML:

股票跟踪器的Qwilr测试演示
股票:
stock-info.html

加载结果。。。
最新信息:{{details.dataset.Latest\u available\u date}

最新价格:{{curr(details.dataset.data[0][4]}

没有发现任何结果。
main.js
$(文档).ready(函数(){
//默认货币显示功能
功能电流(n){
返回“$”+n.tolocalString(“en-AU”{
样式:“十进制”,
最小分数位数:2
});
}
/*如果钱包值已在本地存储中可用,则使用该值填充钱包本地变量
否则使用默认值*/
储物柜冲水();
如果(储物柜获取(“钱包”)){
//警惕(“获取钱包”);
}否则{
Lockr.set(“钱包”,1000000);//默认钱包,100万美元!!
//警报(“设置默认钱包”);
}
var钱包=储物柜获取(“钱包”);
//若stocks数组存在,那个么从本地存储中提取它,否则将它定义为空白,我们将从那个里计算出来。
if(储物柜获取(“库存”){
//警惕(“获取股票”);
}否则{
储物柜组(“库存”,[]);//空组
//警报(“设置默认库存数组”);
}
var股票=Lockr.get(“股票”);
函数displayPortfolio(){
$(“.wallet”).html(`当前钱包:${curr(wallet)}`);
if(股票长度){
美元。每个(股票、功能(指数、元素){
$(“.stocks”).append(`${element.stockname}`);
});
}否则{
$(“.stocks”).html(“投资组合中无股票”);
}
}
/*角码*/
角度.module('myApp',[]).controller('StockController',函数($scope,$http){
$scope.$watch('search',function(){
fetch();
});
$scope.search=“AAPL”;
函数fetch(){
$http.get(“https://www.quandl.com/api/v3/datasets/WIKI/“+$scope.search+”.json”)。然后(函数(响应){
$scope.details=response.data;
});
}
});
/*端角码*/
displayPortfolio();
});
有没有办法确定此代码的错误以及如何修复

提前感谢…

错误在于以可读的形式解释了问题

myApp
模块在应用程序启动时未定义。争用条件是由于它被放入
$(document).ready(function(){…})
块中

由于潜在的问题,当AngularJS与jQuery结合使用时,不建议将
ng app=“myApp”
放在
或其他包含
标记的元素上。

错误是以可读的形式解释了问题

myApp
模块在应用程序启动时未定义。争用条件是由于它被放入
$(document).ready(function(){…})
块中


当AngularJS与jQuery结合使用时,由于潜在的问题,也不建议将
ng app=“myApp”
放在
或其他包含
标记的元素上。

AngularJS(v3.2.1)?我相信1.6.7现在是最晚的版本了…对于AngularJS,jQuery是3.2.1…会纠正的!AngularJS(v3.2.1)?我相信1.6.7现在是最晚的版本了…哎呀,1.6.6对于AngularJS,jQuery是3.2.1…会正确的!换句话说,不要在jQuery中包装你的AngularJS,而是反过来。换句话说,不要在jQuery中包装你的AngularJS,而是反过来。
<!DOCTYPE html>
<html ng-app="myApp" ng-controller="StockController">

    <head>
        <title>Qwilr Test Demonstration for Stock Tracker</title>
        <script src="./libraries/jquery-3.2.1.min.js"></script>
        <!-- DOM manipulation and AJAX calls -->
        <script src="./libraries/angular.min.js"></script>
        <!-- realtime interactivity -->
        <script src="./libraries/lockr.js"></script>
        <!-- local storage library -->
        <script src="./script/main.js" ng-module="myApp"></script>
    <head>

    <body>
        <div class="portfolio">
            <div class="wallet"></div>
            <div class="stocks"></div>
            <div class="search">
                Stock: <input type="text" ng-model="search" ng-model-options="{debounce: 800}" placeholder="Enter stock code" />
            </div>
            <div id="main-info" ng-include="'stock-info.html'"></div>
        </div>
    </body>
</html>
<div ng-if="!details.dataset">
    Loading results...
</div>

<div ng-if="details.dataset.refreshed_at!==''">
    <span class="span-outer">
            <a href="https://www.google.com.au/search?q={{details.dataset.details.dataset_code}}" target="_blank">{{(details.dataset.name).replace(" Prices, Dividends, Splits and Trading Volume","")}}</a>
        </span>

    <p><strong>Latest Information:</strong> {{ details.dataset.newest_available_date }}</p>
    <p><strong>Latest Price: {{curr(details.dataset.data[0][4]}}</strong></p>
</div>

<div ng-if="details.dataset.Response===''">
    No results found.
</div>
$(document).ready(function() {

    // Default Currency display function
    function curr(n) {
        return "$" + n.toLocaleString("en-AU", {
            style: "decimal",
            minimumFractionDigits: 2
        });
    }

    /*  If wallet value already available in local storage, use that value to populate wallet local variable
        else use default value. */
    Lockr.flush();
    if (Lockr.get('wallet')) {
        //alert("Getting wallet");
    } else {
        Lockr.set("wallet", 1000000); // Default wallet, 1 million dollars!!
        //alert("Setting default wallet");
    }
    var wallet = Lockr.get("wallet");

    // If stocks array exists then pull it from local storage, else define it as a blank and we'll work it out from there.

    if (Lockr.get('stocks')) {
        //alert("Getting stocks");
    } else {
        Lockr.set("stocks", []); // Empty set
        //alert("Setting default stocks array");
    }
    var stocks = Lockr.get("stocks");

    function displayPortfolio() {
        $(".wallet").html(`Current Wallet: ${curr(wallet)}`);
        if (stocks.length) {
            $.each(stocks, function(index, element) {
                $(".stocks").append(`<div class="stock">${element.stockname}</div>`);
            });
        } else {
            $(".stocks").html("No stocks in portfolio");
        }
    }

    /* Angular Code */

    angular.module('myApp', []).controller('StockController', function($scope, $http) {
        $scope.$watch('search', function() {
            fetch();
        });

        $scope.search = "AAPL";

        function fetch() {
            $http.get("https://www.quandl.com/api/v3/datasets/WIKI/" + $scope.search + ".json").then(function(response) {
                $scope.details = response.data;
            });
        }
    });
    /* END Angular Code */

    displayPortfolio();

});