gpt4 book ai didi

ember.js - 无法将 View 的 elementId 设置为列表内容 ID

转载 作者:行者123 更新时间:2023-12-04 17:19:47 27 4
gpt4 key购买 nike

我有一个使用以下模板呈现列表元素的 View :

   {{#each item in controller}}
{{view App.ItemView}}
{{/each}}

我需要每个项目的 id 是相应 itemView 的 id。这是我的第一次尝试,但它不起作用:

App.ItemView = Ember.View.extend({
elementId: Ember.computed(function(){
return this.getPath('item.id');
}),
templateName: 'item'
});

我做错了什么?

您可以在此处找到说明我的问题的 jsfiddle http://jsfiddle.net/jrabary/vk4Ze/

最佳答案

此时 View 需要计算 elementId 属性,item 尚未设置,所以问题开始了...

如果您想在项目可用后设置 id,您将必须允许 Ember 检索要更改的 DOM 元素...这意味着 Ember 必须设置元素的 id!换句话说,这在今天是不可能的,因为 Ember 使用元素 id 来保留对其 DOM 拥有/控制的元素的引用。

不过, View 绑定(bind)了显示的项目,因此您可以稍后检索该项目。您的潜在需求到底是什么?

编辑

这是一个根据项目 ID 自定义元素类的示例:http://jsfiddle.net/MikeAski/ZAHxm/

关于ember.js - 无法将 View 的 elementId 设置为列表内容 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10996130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com