JSHint错误:未定义myApp(W117)

时间:2015-03-17 10:10:26

标签: javascript angularjs

为什么我的jshint有这个错误..? :

  

JSHint:' myApp'没有定义。 (W117)

我的app.js:

myApp = angular.module('autoApp', ['ngRoute', 'uiGmapgoogle-maps', 'ngTable', 'ngAnimate', 'ngTouch'])
    .config(function ($routeProvider) {
        $routeProvider
            .when('/', {
                templateUrl: '/partials/cars.html',
                controller: 'AutoAppCtrl'
            }).when('/contact', {
                templateUrl: '/partials/contact.html',
                controller: 'ContactCtrl'
            }).when('/services', {
                templateUrl: '/partials/services.html',
                controller: 'AutoAppCtrl'
            }).when('/carDetails/:id', {
                templateUrl: '/partials/carDetails.html',
                controller: 'CarDetailsCtrl'
            }).otherwise({
                redirectTo: '/'
            });
    });

3 个答案:

答案 0 :(得分:2)

因为... myApp未定义。在它前面添加var来声明它。否则,你依赖The Horror of Implicit Globals(无论如何只能在松散模式下“工作”),所以JSHint非常正确地告诉你不要这样做。

答案 1 :(得分:2)

错误完美地描述了问题。 myApp未定义。用

定义它
var myApp

答案 2 :(得分:1)

首先,您需要使用var myApp而不是myApp。

其次,你不需要。

即使您使用var myApp,也会创建一个全局变量。要避免它,请在您想要引用myApp的任何地方使用angular.module('autoApp')(无第二个参数)。