이 주제에 대한 여러 가지 질문과 답변을 살펴 보았지만 오류없이 해결할 수없는 상황은 내 상황에 맞지 않습니다.Angular.js resolve throws 알 수없는 공급자 오류
여기에서 해결 방법으로 각도 경로에 대해 알아 보려면 튜토리얼을 따라 가면서 기존 앱에서이 예를 인라인으로 시도합니다 : http://www.undefinednull.com/2014/02/17/resolve-in-angularjs-routes-explained-as-story/.
이 오류가 발생합니다. 사용하고있는 해결 방법 및보기와 관련이있는 것 같습니다. 어떤 도움이라도 대단히 감사하겠습니다. 여전히 앵귤러를 처음 접하는 사람. 백 엔드에 레일을 사용 :
Error: [$injector:unpr] Unknown provider: myFriendsHotelProvider <- myFriendsHotel http://errors.angularjs.org/1.2.6/ $injector/unpr?p0=myFriendsHotelProvider%20%3C-%20myFriendsHotel at http://lala.dev/assets/angular.js?body=1:79:12 at http://lala.dev/assets/angular.js?body=1:3539:19 at Object.getService [as get] (http://lala.dev/assets/angular.js?body=1:3666:39) at http://lala.dev/assets/angular.js?body=1:3544:45 at getService (http://lala.dev/assets/angular.js?body=1:3666:39) at invoke (http://lala.dev/assets/angular.js?body=1:3688:13) at Object.instantiate (http://lala.dev/assets/angular.js?body=1:3709:23) at http://lala.dev/assets/angular.js?body=1:6759:28 at link (http://lala.dev/assets/angular-route.js?body=1:907:26) at nodeLinkFn (http://lala.dev/assets/angular.js?body=1:6213:13)
app.js.coffee
window.lala = angular.module "Lala", ["angularFileUpload", "ngResource", "ngAnimate", "ngRoute", "ui.bootstrap", "ui.bootstrap.setNgAnimate", "ui.sortable", 'ngTagsInput']
lala.config ['$httpProvider', ($httpProvider) ->
authToken = $("meta[name=\"csrf-token\"]").attr("content")
$httpProvider.defaults.headers.common["X-CSRF-TOKEN"] = authToken
]
lala.config ['$routeProvider', ($routeProvider) ->
$routeProvider
.when("/accomodation",
templateUrl: "/assets/templates/list.html"
controller: "AccomodationCtrl"
resolve: ->
myFriendsHotel: ->
hotelName: ->
"My Friend's Hotel"
roomNumber: ->
"100"
)
.when("/home",
templateUrl: "/assets/templates/home.html"
controller: "HomePageCtrl"
)
.when("/tags/:tag",
templateUrl: "/assets/templates/lists.html"
controller: "ListsCtrl"
)
.when("/:filter",
templateUrl: "/assets/templates/lists.html"
controller: "ListsCtrl"
)
.when("https://stackoverflow.com/users/:id",
templateUrl: "/assets/templates/profile.html"
controller: "UsersCtrl"
)
.otherwise(redirectTo: '/recent')
]
accomodation_controller.js.coffee
lala.controller "AccomodationCtrl", ["$scope", "myFriendsHotel", ($scope, myFriendsHotel) ->
$scope.name = "Shidhin"
$scope.place = "Switzerland"
$scope.hotel = myFriendsHotel.hotelName()
$scope.roomno = myFriendsHotel.roomNumber()
]
list.html.haml
각도는 당신이 요구하는 종속성을 제공하는 방법을 알고하지 않기 때문에.row
.col-xs-12.col-sm-6.col-md-8
%div
%h2 Hi, {{name}}. Welcome to {{place}}
%div The accomodation is arranged on <strong>{{hotel}}</strong> and room number is <strong>{{roomno}}</strong>
.col-xs-6.col-md-4
#right-column
great work
angular.html.haml는
!!!
%html
%head
%title Lala
%meta{content: "width=device-width, initial-scale=1.0", name: "viewport"}/
= favicon_link_tag "lala_favicon.ico"
= stylesheet_link_tag "http://fonts.googleapis.com/css?family=Lato"
= stylesheet_link_tag "application", :media => "all"
= javascript_include_tag "application"
= csrf_meta_tags
:javascript
window.current_user_name = "#{current_user.try(:username)}"
window.current_user_image = "#{avatar_url(current_user) unless !current_user}"
%body{"ng-app" => "Lala"}
= render :partial => "shared/navbar"
#page-content{iScroll: ""}
.container.bordered
.row
.col-xs-12.col-sm-12.col-md-12.col-lg-12
.breadcrumb
{{breadcrumb}}
%div{"ng-view" => true}
= yield
#scroll-top
%a{:href => "#"}
back to top
%span.glyphicon.glyphicon-arrow-up
dnc253과 같이 작성한 경우 myFriendsHotelProvider 서비스 정의가 누락되었습니다. 그래서 코드 어딘가에 lala.factory "myFriendsHotel", -> 라인이 있어야합니다. 게시 된 사우스 캐롤라이나에서 찾을 수 없습니다. – bekite
ng-controller = 'AccomodationCtrl'을 어디서나 선언하지 않았는지 확인하십시오. – Chandermani
@bekite, 그렇지 않습니다. 문제가 해결 될 수 있도록 주입됩니다. – Chandermani