Ich würde gerne die richtige Abhängigkeitsinjektion in MyCtrl1
verwenden, um die Felder des MyCtrl1.resolve
Objekts zu injizieren. Ich habe viele verschiedene Kombinationen versucht, @MyCtrl1.resolve
etc. ohne Glück zu injizieren.Angularjs Abhängigkeitsinjektion in Auflösung
@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'])
Vielen Dank für Ihre Antwort. Ich fürchte allerdings nicht, dass mir das hilft, "Batman" und "Titel" in "MyCtrl1" zu injizieren. 'MyCtrl1. $ Inject = ['$ scope', '$ http', 'batman', 'title']' würde nicht funktionieren – jakecar
@jakecar sollte es für global definierte Controller funktionieren. Für die Controller, die auf einem Modul registriert sind (empfohlen), müssten Sie Array-artige Annotationen verwenden. Lassen Sie mich wissen, wenn Sie Probleme haben, damit es funktioniert, bereiten Sie einen Plunk vor. –
Ich denke, dass Sie die schließende Klammer ']' für 'batman' und' title' –