本文介绍了Ember js-无法使用urlFor方法生成带有动态细分的网址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在路线 / 1/1 / orders $ c中,我可以使用
urlFor()
生成URL $ c>。但是我无法在应用程序路由中生成URL。
I am able to generate a URL using urlFor()
when I’m in the route /1/1/orders
. but I’m unable to generate a URL in the application route.
因此此代码无法正常工作:
So this code is not working:
var routeName = "scope.purchase.invoice";
var dynamicSegments = { scopeId: 1, scopeData: 2, invoiceId: 3, pageSize: 20, pageIndex: 1 };
var url = this.router.urlFor(routeName, 1, 2, 3, 10, 1);
console.log("inside generated url", url);
为此 router.js
:
this.route("scope", { path: '/:scopeId/:scopeData' }, function(){
this.route("purchase", function(){
this.route("invoice", { path: '/:invoiceId/:pageIndex/:pageSize' });
})
});
这里是参考文献
推荐答案
您的问题是。
Your problem is that urlFor()
takes the models / dynamic segments as individual, ordered params, not a object with keys and values..
这样做:
const url = this.router.urlFor(routeName, dynamicSegments.scopeId, dynamicSegments.scropeData, dynamicSegments.invoiceId, dynamicSegments.pageSize, dynamicSegments.pageIndex);
这篇关于Ember js-无法使用urlFor方法生成带有动态细分的网址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!