我有一个控制器和两个模块分成三个文件。当我在Grunt中运行Jshint-Task时,我总是得到错误,缺少语句“use strict”。所以为了解决这个错误,我将语句包含在这三个文件中,但我仍然得到错误,我不明白为什么。由于我还在学习Angular的基础知识,我不知道为什么会发生这种情况。
感谢您的回答!
控制器:
"use strict";
angular.module('calculatorApp').controller('HomeController', ['calculatorApp', function(){
var $this = this;
$this.test = function () {
$this.alert('test');
};
}]);
模块:
"use strict";
var calculatorApp = angular.module('calculatorApp', ['ngRoute']);
calculatorApp.config(function($routeProvider){
$routeProvider
.when('/', {
controller: 'HomeController',
templateUrl: 'home.tpl.html'
})
.otherwise({
redirectTo: '/'
})
});
答案 0 :(得分:0)
总是包装你的模块,以避免concat和amp; miniziming任务(避免变量冲突和泄漏到全局范围),还包括在这个函数内使用strict。
示例:
app.js
var app;
(function (app) {
'use strict';
angular.module('app', [
'module1',
'module2',
'moduleX'
]);
})(app || (app = {}));
randomcontroller.js
var app;
(function (app) {
'use strict';
var RandomController = (function () {
function RandomController(logger) {
this.logger = logger;
this.title = 'RandomView';
this.logger.info('Activated Random View');
}
RandomController.$inject = ['logger'];
return RandomController;
})();
angular.module('app').controller('RandomController', RandomController);
})(app || (app = {}));
如果有任何问题,请参阅惊人的John Papa指南 - > https://github.com/johnpapa/angular-styleguide
答案 1 :(得分:0)
我想分享我的错误解决方案。因为我的src文件夹里面有一个供应商文件夹。如果其他人遇到此错误,请检查您的文件夹结构!