12
に適切な依存性注入を使用して、MyCtrl1.resolve
オブジェクトのフィールドを注入したいと考えています。私は幸運なしで@MyCtrl1.resolve
などを注入しようとする試みの多くの異なる組み合わせを試してみました。解決法のAngularjs依存性注入
@MyCtrl1 = ($scope, $http, batman, title) ->
$scope.batman = batman.data
$scope.title = title.data
@MyCtrl1.resolve = {
batman: ($http) ->
$http.get('batman.json')
title: ($http) ->
$http.get('title.json')
}
#@MyCtrl1.$inject = ['$scope', '$http'] -- commented out because not sure how to inject resolve fields
angular
.module('app', [])
.config(['$routeProvider', '$locationProvider', ($routeProvider, $locationProvider)->
$locationProvider.html5Mode(true)
$routeProvider.when('/', {templateUrl: 'index.html', controller: MyCtrl1, resolve: MyCtrl1.resolve})
$routeProvider.otherwise({redirectTo: '/'})
])
angular.bootstrap(document,['app'])
ご回答いただきありがとうございます。しかし、私はこれが「バットマン」と「タイトル」を「MyCtrl1」に挿入するのにどのように役立つのか分かりません。 'MyCtrl1。$ inject = ['$ scope'、 '$ http'、 'batman'、 'title']'は動かないでしょう – jakecar
@jakecarグローバルに定義されたコントローラで動作するはずです。モジュールに登録されたコントローラの場合(推奨)、配列スタイルの注釈を使用する必要があります。あなたが問題を抱えている場合はそれを働かせる、私は知らせてくださいplunkを準備します。 –
私は、あなたが 'batman'と' title'の閉じ括弧 ']'を紛失していると思います。 –