12
我想在MyCtrl1
中使用適當的依賴注入來注入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它應該適用於全局定義的控制器。對於在模塊上註冊的控制器(推薦),您將不得不使用數組樣式註釋。讓我知道如果你有問題使其工作,將準備一個龐然大物。 –
我認爲你錯過了'batman'和'title'的右括號']' –