Tôi muốn sử dụng tiêm phụ thuộc thích hợp trong MyCtrl1
để tiêm các trường của đối tượng MyCtrl1.resolve
. Tôi đã thử nhiều kết hợp khác nhau của việc cố gắng tiêm @MyCtrl1.resolve
vv mà không có may mắn.Sự tiêm phụ thuộc vào Angularjs trong giải quyết
@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'])
Cảm ơn phản hồi của bạn. Tuy nhiên, tôi e rằng tôi không thấy cách này giúp tôi tiêm 'batman' và 'title' vào 'MyCtrl1'. 'MyCtrl1. $ Inject = ['$ scope', '$ http', 'batman', 'title']' sẽ không hoạt động – jakecar
@jakecar nó sẽ hoạt động với các bộ điều khiển được xác định trên toàn cầu. Đối với các bộ điều khiển đăng ký trên một mô-đun (được khuyến nghị), bạn sẽ phải sử dụng các chú thích kiểu mảng. Hãy cho tôi biết nếu bạn có vấn đề khiến nó hoạt động, sẽ chuẩn bị một plunk. –
Tôi nghĩ bạn đang thiếu dấu ngoặc đóng ']' cho 'batman' và' title' –