这是我的模块:
> (function () {
> 'use strict';
>
> // CREATE module
> angular
> .module('home', []);
> // Module's CONFIG
> angular
> .module('home')
> .config(function ($stateProvider) {
> console.log("angular.module('home').config()");
> $stateProvider
> .state('search', {
> url: '/search',
> template: '<search books-list="$resolve.booksList"></search>',
> resolve: {
> booksList: function (dataService) {
> return dataService.get('app/data/books.json').then(function succsess(data) {
> return data;
> }, function error(error) {
> return error;
> });;
> }
> }
> });
> /* Add New States Above */
> }
>
> );
>
> })();
这是我的组件:
(function () {
'use strict';
/* JAVASCRIPT */
/**
* Search Object/function
*/
console.log("Search component load");
/** @ngInject **/
function searchController($state) {
/***************** PRIVATE *******************/
console.log("searchController load");
var ctrl = this;
ctrl.x = ctrl.booksList;
/**
* @name: .
* @description: .
**/
/****************** PUBLIC *******************/
}
/* ANGULAR */
angular
.module('home')
.component('search', {
templateUrl: 'app/home/components/search/search.component.html',
controller: searchController,
bindings: {
booksList: '<'
}
});
})();
我无法看到从我的模块上的resolve函数返回的数据 (等于未定义) Angular版本1.6.1和ui路由器0.3.2 还尝试将booksList注入组件控制器但得到 未知提供商错误
答案 0 :(得分:1)
使用此。$ onInit初始化我的bookList:
this.$onInit = function _init() {
ctrl.booksList = ctrl.books.data;
};
答案 1 :(得分:0)
首先你需要注入ui路由器
angular.module('yourmodule', [
'ui.router'
]);