Ember.js 带有动态上下文的{{{链接到‘;路由名称’;}}
是否可以将带有动态上下文参数的链接作为单个变量使用 当有一个动态部分时,这就可以工作了,但在下面的示例中,我有Ember.js 带有动态上下文的{{{链接到‘;路由名称’;}},ember.js,Ember.js,是否可以将带有动态上下文参数的链接作为单个变量使用 当有一个动态部分时,这就可以工作了,但在下面的示例中,我有post category id和post id。是否可以动态传入这些参数。它试图将它们作为数组或字符串传递,但这不起作用 在这个例子中,我想{{#link to“post”params}}其中post嵌套在post类别中。我的目标是使用所需的2个上下文参数传入参数 // router this.resource('post-categories', {path: 'post-categ
post category id
和post id
。是否可以动态传入这些参数。它试图将它们作为数组或字符串传递,但这不起作用
在这个例子中,我想{{#link to“post”params}}
其中post嵌套在post类别中。我的目标是使用所需的2个上下文参数传入参数
// router
this.resource('post-categories', {path: 'post-categories/:post-category-id'}, function() {
this.resource('post', {path: 'post/:post-id'})
});
// controller
...
params: Em.computed(function() {
return [1, 4]
})
...
// template
{{#link-to "post" params}}
<>我试图在源代码中阅读,但这并没有太大帮助。 < P>不,它会考虑使用该模型作为其中一条路径。最好使用两个动态属性
{{link-to 'My Post' 'post' p1 p2}}
不,不是作为单个变量。但是,您可以通过在同一对象下传递两个值来实现您的目标(如果我理解正确的话) 因此,在您的示例中,您必须将params属性更改为以下内容:
params: Em.computed(function() {
return { params: { catId: 1, postId: 4 } };
})
然后将参数作为两个动态属性传递到完整路径:
{{#link-to "post-categories.post" params.catId params.postId}}
好的,我的解决方案通过控制器上的一个动作。 在这个动作中,我用所需数量的动态部件检查参数和开关盒的长度
transitionorroute
。虽然不是很干
switch (params.length) {
case 0:
this.transitionToRoute(route.get('routeName'))
break;
case 1:
this.transitionToRoute(route.get('routeName'), params[0])
break;
case 2:
this.transitionToRoute(route.get('routeName'), params[0], params[1])
break;
case 3:
this.transitionToRoute(route.get('routeName'), params[0], params[1], params[2])
}
我的目标是只传入一个包含0,1,2。。。参数取决于路由预期的内容。预期的参数总是正确的,没有什么需要注意的。有可能通过TransitionRoute吗?据我所知,
TransitionRoute
不会更好。那些参数代表什么?在我看来,通过发送链接到的资源树的顶部模型,并通过模型关联处理子参数,{{{link to“post”post}
,您可以实现您的目标。然后,您可以在所点击的每条路线中处理post的参数关联。这些参数代表路线的动态段。我将这些路线存储在一个单独的控制器中,希望用户能够导航到一条路线。我有routeName+动态部分,只有我的动态部分以变量的形式存在。这个变量可以转换成任何可以工作的变量,例如“13”,“1”“3”[1,3],但我尝试了这些解决方案。