Ember.js 将数组传递给链接到帮助器
我想创建一个需要生成动力学链接的组件。我尝试将链接数据作为数组传递,但这不起作用Ember.js 将数组传递给链接到帮助器,ember.js,Ember.js,我想创建一个需要生成动力学链接的组件。我尝试将链接数据作为数组传递,但这不起作用 var user1 = get("store").find("user", 1); var data = {link: ["users.show", user1], title: "User1"}; {{#link-to data.link}}{{data.title}}{{/link-to}} 这应该等于 {{#link-to "users.show" 1}}{{data.title}}{{/link-to}
var user1 = get("store").find("user", 1);
var data = {link: ["users.show", user1], title: "User1"};
{{#link-to data.link}}{{data.title}}{{/link-to}}
这应该等于
{{#link-to "users.show" 1}}{{data.title}}{{/link-to}}
如何从变量生成完全动态链接?我认为不可能传递数组,但可以直接传递每个参数,如下所示: 路线
var user1 = this.store.find('user', 1);
var data = { data: { link: "users.show", model: user1, title: "User1" } };
return data;
{{#link-to data.link data.model.id}}{{data.title}}{{/link-to}}
模板
var user1 = this.store.find('user', 1);
var data = { data: { link: "users.show", model: user1, title: "User1" } };
return data;
{{#link-to data.link data.model.id}}{{data.title}}{{/link-to}}
我希望它能有所帮助Ember 1.13.x
链接到帮助器为您创建的对象将公开为。我在这里创建了一个使用它的示例:
params
属性是指向辅助对象的链接通常绑定位置参数的属性,尽管此处必须使用未绑定的辅助对象,因为链接组件而不是值绑定对象。此外,除非将链接文本作为数组中的第一个参数,否则必须传递hasBlock=“true”
余烬≤ 1.12.x 虽然还没有完成,但是您可以手动公开组件,这相当于新的LinkComponent
App.XLinkToComponent = Ember.LinkView.extend();
然后像这样使用它:
{{#x-link-to params=link}}
{{title}}
{{/x-link-to}}
使用
unbound
和hasBlock=“true”
是不必要的,因为LinkView的内部逻辑与LinkComponent不同。您可以将数组指定为参数
参数,以链接到帮助程序。与答案类似,但仅使用默认的{{{link to}
帮助程序:
App.XLinkToComponent = Ember.LinkView.extend();
{{#link-to params=data.link}}{{data.title}}{{/link-to}}
…将呈现如下内容:
<a href="/users/show/1">User1</a>
(使用Ember 2.3.0进行了测试)谢谢,但这还不够通用。如果一个链接在同一个数组2,3,…,中使用一个参数和另一个链接,该怎么办?我认为使用指向帮助器的链接是不可能的。也许可以将链接扩展到并创建一个新的,期望阵列可以工作的链接。像这样的东西{{{#link with args data.link data.args}}{{data.title}}{{/link to}}
。我认为link to对此不起作用,您可能需要创建一个自定义帮助器,或者在控制器中使用一个函数“转换”到给定的路由。看看这里,你可以使用“识别器”来识别给定的路径,你会得到一个处理程序,然后转换到该路径。这是Ember 2.0的答案。