HTML:
<a ui-sref="user.tools.selectedTemplate({provider: t.id})" target="_blank">{{t.name}}</a>
上面的代码是ng-repeat,其中许多模板链接都加载了name和id,因此当我点击每个链接时,href将更新为附加到所选模板链接的id号。我正在使用相同的控制器生成大约十个模板。我将ui-sref中的值从一个状态传递到另一个状态,所以我需要动态的templateUrl, 我尝试了这个link issue但我无法发送stateparams,因为主模板页面没有参数。
此处为app.js中的ui路由器代码
.state('user.tools.template',angularAMD.route({
url: '/template',
templateUrl: './views/tools/select-template.html',
controller: 'selectTplCtrl',
controllerUrl: 'tools/selecttplCtrl'
}))
.state('user.tools.selectedTemplate',angularAMD.route({
url: '/selectedTemplate/:provider',
templateUrl: function($stateParams){
return './views/tools/selected-template'+'$stateParams.provider'+'.html'
},
controller: 'selectedTemplateCtrl',
controllerUrl: 'tools/selectedTemplateCtrl'
}))
任何人都可以解决这个问题吗?
答案 0 :(得分:1)
我会说你走在正确的轨道上......只需按照以下方式调整网址构建:
templateUrl: function($stateParams){
//return './views/tools/selected-template'+'$stateParams.provider'+'.html'
return './views/tools/selected-template'+ $stateParams.provider +'.html'
}
在此处查看更多内容,在使用动态模板链接时,我们可以使用UI-Router获得的内容: