質問編集履歴

1 文法修正

退会済みユーザー

退会済みユーザー

2016/03/21 12:12  投稿

yeomanで作ったangularjsのcontrollerのinjection方法について
以下yeomanで作ったangularjsの初期ソースですが、
-- app.js
```javascript
'use strict';
angular
 .module('myApp', [
   'ngAnimate',
   'ngCookies',
   'ngResource',
   'ngRoute',
   'ngSanitize',
   'ngTouch',
 ])
 .config(function ($routeProvider) {
   $routeProvider
     .when('/', {
       templateUrl: 'views/main.html',
       controller: 'MainCtrl',
       controllerAs: 'main'
     })
     .when('/about', {
       templateUrl: 'views/about.html',
       controller: 'AboutCtrl',
       controllerAs: 'about'
     })
     .otherwise({
       redirectTo: '/'
     });
 });
```
-- main.js
```javascript
'use strict';
angular.module('myApp')
 .controller('MainCtrl', function () {
   this.awesomeThings = [
   'HTML5 Boilerplate',
   'AngularJS',
   'Karma'
   ];
 });
```
 
 
main.jsの以下のように$locationと$anchorScrollをインジェクションしたいのですが、エラーとなります。
以下はエラーになる。
 .controller('MainCtrl', ['$location', '$anchorScrol', function ($location, $anchorScrol
以下もエラーになる。
 .controller('MainCtrl', function ($location, $anchorScrol
インジェクションはどのように行えばよいでしょうか。
インジェクションはどのように行えばよいでしょうか。
--追記--
以下のようにした所、jshintによるエラーはなくなりました。
.controller('MainCtrl', ['$scope', '$log', function($scope, $log) {
 // ボタンクリック時にログを出力
 $scope.onclick = function() {
   $log.debug('デバッグ');
   $log.error('エラー');
   $log.info('情報');
   $log.log('一般ログ');
   $log.warn('警告');
 };
}]);
上記$scopeを消して、this.onclickのようにしようとするとそれはエラーでした。
どのような状況なのか不明です。
ご存知の方いらっしゃいましたら、教えていただけますと幸いです。
  • AngularJS

    648 questions

    AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る