我有以下配置。有没有办法让它更干净并且没有重复的代码?
谢谢!
.state('info', {
url: '/info/:id',
templateUrl : 'templates/pages/info.html',
controller : 'singlePage',
resolve: {
pageData: function(getData, $stateParams) {
var params = $stateParams;
params.type = this.self.name;
return getData.getPageData(params.type, params)
}
}
})
.state('news', {
url: '/news/:id',
templateUrl : 'templates/pages/news.html',
controller : 'singlePage',
resolve: {
pageData: function(getData, $stateParams) {
var params = $stateParams;
params.type = this.self.name;
return getData.getPageData(params.type, params)
}
}
})
.state('event', {
url: '/event/:id',
templateUrl : 'templates/pages/event.html',
controller : 'singlePage',
resolve: {
pageData: function(getData, $stateParams) {
var params = $stateParams;
params.type = this.self.name;
return getData.getPageData(params.type, params)
}
}
})
最佳答案
function createState(name) {
return {
url: '/' + name + '/:id',
templateUrl : 'templates/pages/' + name +'.html',
controller : 'singlePage',
resolve: {
pageData: function(getData, $stateParams) {
var params = $stateParams;
params.type = this.self.name;
return getData.getPageData(params.type, params)
}
}
}
}
....
.state('info', createState('info'))
.state('news', createState('news'))
.state('event', createState('event'))
关于javascript - 相同的 Controller 并解析不同的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875975/