generator-angular-fullstack 和 UI 路由器解析
generator-angular-fullstack and UI Router resolve
我使用 generator-angular-fullstack 创建了一个 Angular 1.6 应用程序,但我无法在 UI 路由器中获得我的解析值。
我试过这样使用它:
路线:
$stateProvider.state('main', {
url: '/',
template: '<main></main>',
resolve: {
test: function() { return 'test' }
}
});
控制器
constructor($state, socket, localStorageService, test) {
}
这会导致 unknow provider
错误。
这样:
路线:
$stateProvider.state('main', {
url: '/',
template: '<main test="$resolve.test"></main>',
resolve: {
test: function() {
return 'test'
}
}
});
分量:
component('main', {
template: require('./main.pug'),
bindings: {
test: '='
},
controller: MainController
})
控制器:
constructor($state, socket, localStorageService) {
console.log(this.test)
}
并且 this.test 的值始终是 Undefined
,无论我做什么。
我错过了什么?它似乎对每个人都有效。
我发现了问题。如果有人遇到同样的问题,那是因为第二种方法在 Angular 1.5 中有效,但在 Angular 1.6 中,您必须在 $onInit 方法中访问已解析的变量,而不是直接在构造函数中访问。
这是一个可以正常工作的更新:
constructor($state, socket, localStorageService) {
}
$onInit() {
console.log(this.test)
}
我使用 generator-angular-fullstack 创建了一个 Angular 1.6 应用程序,但我无法在 UI 路由器中获得我的解析值。
我试过这样使用它:
路线:
$stateProvider.state('main', {
url: '/',
template: '<main></main>',
resolve: {
test: function() { return 'test' }
}
});
控制器
constructor($state, socket, localStorageService, test) {
}
这会导致 unknow provider
错误。
这样:
路线:
$stateProvider.state('main', {
url: '/',
template: '<main test="$resolve.test"></main>',
resolve: {
test: function() {
return 'test'
}
}
});
分量:
component('main', {
template: require('./main.pug'),
bindings: {
test: '='
},
controller: MainController
})
控制器:
constructor($state, socket, localStorageService) {
console.log(this.test)
}
并且 this.test 的值始终是 Undefined
,无论我做什么。
我错过了什么?它似乎对每个人都有效。
我发现了问题。如果有人遇到同样的问题,那是因为第二种方法在 Angular 1.5 中有效,但在 Angular 1.6 中,您必须在 $onInit 方法中访问已解析的变量,而不是直接在构造函数中访问。
这是一个可以正常工作的更新:
constructor($state, socket, localStorageService) {
}
$onInit() {
console.log(this.test)
}