Tôi đang gặp vấn đề với việc chuyển đổi bộ điều khiển thành các thành phần chuẩn bị ứng dụng cho Angular 2, nhưng sự cố di chuyển không tốt, tôi có bộ định tuyến ui giữa các trạng thái và sử dụng giải quyết trong một vài bộ điều khiển, phiên bản với bộ điều khiển đang hoạt động nhưng phiên bản của các thành phần hiện đang hoạt động, tôi đã theo rất nhiều hướng dẫn và dường như tôi đang làm tốt cho mã nhưng nó không hoạt động cho tôi.Góc 1,5 thành phần có giải pháp ui-router: Nhà cung cấp không xác định
Tôi có sau mô-đun với khiển:
(function() {
'use strict';
angular
.module('app.sample', [])
.config(config);
/** @ngInject */
$stateProvider
.state('app.sample', {
url : '/sample',
views : {
'[email protected]': {
templateUrl: 'app/main/sample/sample.html',
controller : 'SampleController as vm'
}
},
resolve: {
SampleData: function (myService) {
return myService.getSample(); // I return a promise here
}
}
});
}
})();
khiển:
(function()
{
'use strict';
angular
.module('app.sample')
.controller('SampleController', SampleController);
/** @ngInject */
function SampleController(SampleData)
{
var vm = this;
vm.helloText = SampleData.data.helloText;
}
})();
Đoạn mã trên hoạt động tốt, NHƯNG Sau khi thực hiện nó như là một thành phần của nó trở thành như sau:
(function() {
'use strict';
angular
.module('app.sample', [])
.config(config);
/** @ngInject */
function config($stateProvider) {
// State
$stateProvider
.state('app.sample', {
url: '/sample',
views: {
'[email protected]': {
template: '<sample></sample>'
}
},
resolve: {
SampleData: function (myService) {
return myService.getSample(); // I return a promise here
}
}
});
}
})();
Component:
(function() {
'use strict';
angular
.module('app.sample')
.component('sample', {
templateUrl: 'app/main/sample/sample.html',
bindings: {
},
controller: Sample
});
/** @ngInject */
function Sample(SampleData) {
var $ctrl = this;
$ctrl.helloText = SampleData.data.helloText;
}
})();
Nhưng bây giờ nó không làm việc và mang lại cho tôi những lỗi sau:
Error: [$injector:unpr] Unknown provider: SampleDataProvider <- SampleData
http://errors.angularjs.org/1.5.7/$injector/unpr?p0=SampleDataProvider%20%3C-%20SampleData
at angular.js:68
at angular.js:4502
at Object.getService [as get] (angular.js:4655)
at angular.js:4507
at getService (angular.js:4655)
at injectionArgs (angular.js:4679)
at Object.invoke (angular.js:4701)
at $controllerInit (angular.js:10234)
at nodeLinkFn (angular.js:9147)
at angular.js:9553
phụ thuộc của tôi bên bower.json:
"dependencies": {
"angular": "1.5.7",
"angular-animate": "1.5.7",
"angular-aria": "1.5.7",
"angular-cookies": "1.5.7",
"angular-material": "1.1.0-rc.5",
"angular-messages": "1.5.7",
"angular-resource": "1.5.7",
"angular-sanitize": "1.5.7",
"angular-ui-router": "1.0.0-beta.1",
"jquery": "2.2.4",
"mobile-detect": "1.3.2",
"moment": "2.13.0"
}
Bất kỳ ý tưởng gì về vấn đề, những gì tôi đang thiếu?
Bạn có thể xác nhận bạn có các j có chứa dịch vụ SampleData bên trong index.html không? – gyc
@gyc Tôi đã viết tệp js, chưa chuyển sang ts, vẫn sử dụng góc 1,5 chuẩn bị cho giai đoạn thứ hai với ts sau và tôi có thể sử dụng 'myService' bên trong bộ điều khiển, dịch vụ dịch vụ không độc lập SampleData, biến của nó đã giải quyết bên trong mô-đun, như bạn có thể thấy trong bộ điều khiển và mô-đun đầu tiên mà chúng đang hoạt động. –