javascript - AngularJS TypeError : d is undefined - Firefox, angular-route.min.js:7 Uncaught TypeError: 无法读取未定义的属性 'isArray' - Chrome

标签 javascript angularjs google-chrome firefox requirejs

我正在开发一个基于 AngularJS 的响应式单页 Web 应用程序,显示一些数据,但我遇到了一个可能与 RequireJS 有关的问题。我在使用 Firefox 时收到 d is undefinedUncaught TypeError: Cannot read property 'isArray' of undefined,但刷新 Chrome 后一切看起来都正常(不适用于 Firefox) )。这是代码:

RequireJS 配置:

requirejs.config({
baseUrl: 'js',
paths: {
    angular: [
    'lib/angular.min',
    'https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min'
    ],
    angularRoute: [
    'lib/angular-route.min',
    'https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular-route.min'
    ]
}
});

脚本

define(['angular','angularRoute'], function($) {

var app = angular.module("myModule", ["ngRoute"]) 
                 .config(function($routeProvider) { 
                    $routeProvider
                        .when("/home", { 
                            templateUrl: "templates/home.html",
                            controller: "homeController" 
                        })
                        .when("/repositories", {
                            templateUrl: "templates/repositories.html",
                            controller: "repositoriesController"
                        })
                        .when("/contributors", {
                            templateUrl: "templates/contributors.html",
                            controller: "contributorsController"
                        })
                        .otherwise({
                            redirectTo: "/home"
                        })
                 })
                 .controller("homeController", function($scope) {
                    $scope.headingOne = "App description";

                 })
                 .controller("repositoriesController", function($scope, $http, $log) {
                    $http.get('https://api.github.com/users/x-formation/repos')
                        .then(function(response) {
                            $scope.gitHub = response.data;
                        })
                    $scope.headingTwo = "X-Formation public repositories";  
                    $scope.sortColumn = "forks_count";
                    $scope.reverseSort = true;

                    $scope.sortData = function(column)  {
                        $scope.reverseSort = ($scope.sortColumn == column) ? !$scope.reverseSort : false;
                        $scope.sortColumn = column;
                    }

                    $scope.getSortClass = function (column) {
                        if ($scope.sortColumn == column) {
                        return $scope.reverseSort ? 'arrow-down' : 'arrow-up';
                        }
                    return '';
                    }
                 })
                 .controller("contributorsController", function($scope, $http) {
                    $http.get('http://cors.io/?u=https://www.x-formation.com/wp-content/uploads/2014/09/contributors.json')
                        .then(function(response) {
                            $scope.xFormationData = response.data;
                        })
                    $scope.headingThree = "Top contributors";   
                    $scope.sortColumn = "contributions";
                    $scope.reverseSort = true;

                    $scope.sortData = function(column)  {
                        $scope.reverseSort = ($scope.sortColumn == column) ? !$scope.reverseSort : false;
                        $scope.sortColumn = column;
                    }

                    $scope.getSortClass = function (column) {
                        if ($scope.sortColumn == column) {
                        return $scope.reverseSort ? 'arrow-down' : 'arrow-up';
                        }
                    return '';
                    }
                 })

});

我最近才开始,我觉得这有点超出我的范围,但我最终必须知道这一点。

最佳答案

代码中最引人注目的是 require 语句:

define(['Angular','AngularRoute'], function($) {

您需要传递 Angular,而不是 $ 符号。

此外,您的要求设置缺少一些垫片设置。关注这篇文章https://www.startersquad.com/blog/angularjs-requirejs/看看这是否能解决您的问题。

关于javascript - AngularJS TypeError : d is undefined - Firefox, angular-route.min.js:7 Uncaught TypeError: 无法读取未定义的属性 'isArray' - Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38353169/

相关文章:

javascript - javascript中的两次返回是什么意思?

javascript - FormioJS : How to return values from data. 自定义选择?

angularjs - 如何在 AngularJS/ui-router 中跟踪长时间运行的异步请求

javascript - 如何更改使用 HTML 中的 <object> 标签链接的 svg 的填充?

javascript - 单击元素时更改字体颜色

javascript - 我无法将数据从 AngularJS 发送到 Spring MVC Controller

javascript - AngularJS JSONP TypeError : url. 替换不是函数

javascript - 通过 WebSockets 传输文本的正确方法是什么?

javascript - 在 Javascript 内部执行 Javascript?

html - Chrome 中的 float Div 错误?