Ember.js是如何生成id的
How does Ember.js generate ids?
如上所述,使用ember.js,此代码:
{{#each}}
<div>
<h1>{{MyComponent}}</h1>
</div>
{{/each}}
呈现如下内容:
<div id="ember180" class="ember-view">
<h1>My Component here</h1>
</div>
我感兴趣的是:
- ember如何决定哪个元素将获得生成的id
- id本身是如何生成的
- 有什么方法可以保证同一个元素总是得到相同的id吗?(目前我看到它每次都在变化)
ember如何决定哪个元素将获得生成的id?
所有视图(包括组件)都会得到一个ID,这样Ember就可以在DOM中快速找到元素。唯一的例外(据我所知)是,没有包装元素(tagName
是一个空字符串)的视图不会得到ID,因为从技术上讲,没有元素可以给ID
id本身是如何生成的?
正如Yury所指出的,有一个私有的Ember.guidFor()
方法可以为对象分配ID。在内部,它只是一个带字符串前缀的递增整数。
有什么方法可以保证同一个元素总是得到相同的id吗?(目前我看到它每次都在变化)
当然不是,即使有,我也强烈建议不要使用它。你可以将自己的ID分配给视图和组件,Ember将使用这些ID而不是生成的ID。如果您需要知道元素的ID,请自己指定ID。
相关文章:
- 使用当前日期生成随机id
- 正在获取动态生成的ID
- jQuery:如何查找id是动态生成的单选按钮是否被选中
- Ember.js是如何生成id的
- 根据单击的元素填充同一页面中的表单,该元素的 ID 由 JSTL 生成
- 在 PHP 生成的表中添加和访问按钮 ID
- 如何在javascript中生成唯一的id
- 在另一个函数中使用从模板生成的 id
- 动态生成 id,并分配给标签
- 根据父项和项 ID 重建或重新生成现有 JSON
- 在追加一行并调用其中的时差函数时生成动态id
- 如何为使用 jQuery 动态生成的按钮提供唯一 ID
- 如何使用JavaScript或JQuery在ASP.net中获取生成控件的ID
- 使用javascript动态生成文本框及其id
- 使用ajax的Django jquery.如何让jquery监听id's生成的表单
- 无法将id放在Jquery插件生成的模式中的未排序列表上
- 获得<tr>通常生成的ID
- 如何获取插入到表中的行的自动生成的ID
- 如何最好地搜索基于特定元素的id动态生成的自定义列表?
- 如何使用jquery/javascript为html中的ID列生成和分配唯一编号