gpt4 book ai didi

ember.js - 在 Ember 中通过 ID 获取元素

转载 作者:行者123 更新时间:2023-12-04 13:05:11 26 4
gpt4 key购买 nike

我正在运行两个 ember 应用程序。一个具有以下组件:

import Ember from 'ember';

export default Ember.Component.extend({
tagName: 'a',

click: function() {
Ember.$('#wrapper').toggleClass('toggled');
}
});

另一个,有这个:
import Ember from 'ember';

export default Ember.Component.extend({
tagName: 'a',

click: function() {
this.$('#wrapper').toggleClass('toggled');
}
});

我在这里不明白的是为什么在一个应用程序中我使用 Ember.$('#wrapper') 通过 ID 选择一个元素在另一个使用 this.$('#wrapper') .

这是关于什么的? Ember 版?

更新

我很困惑,因为两个组件是相同的:
{{#show-menu}}
<i class="fa fa-bars"></i>`
{{/show-menu}}`

它们都是用来隐藏侧边栏 div 的汉堡菜单,还有 #wrapper是一个外部元素。

因为在这两种情况下 #wrapper是外部元素,不应该只是第一个案例@Gaurav 和@Kevin Jhangiani 吗?

最佳答案

区别在于 jquery 选择器的上下文。

Ember.$()

作用域是整个文档,也就是说,您可以访问页面上的任何元素。

相比之下,
this.$()

作用域为当前组件或 View ,因此您只能访问属于子级的 dom 元素。

通常,您应该使用 this.$因为它会更高效(因为搜索空间只是子元素)。 Ember.$应该保留用于绝对需要访问当前上下文之外的元素的时候。

关于ember.js - 在 Ember 中通过 ID 获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33742647/

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