Если элементы не могут быть найдены на didInsertElement()
, вы можете попробовать запустить код jQuery после небольшой задержки, например
import Component from '@glimmer/component'
import { later } from '@ember/runloop';
export default class MyComponent extends Component {
didInsertElement() {
later(function () {
$( ".my-grid-footer-value").hide();
});
}
}
later()
здесь похож на setTimeout()
, но работает в Ember runl oop. И поскольку задержка не указана, это должно выполняться как можно скорее (надеюсь, элементы нижнего колонтитула вашей сетки будут существовать к моменту его выполнения). это в методе runl oop (обычно run()
), чтобы Ember мог запланировать запуск кода в нужное время.
Однако в качестве наилучшей практики Ember вам следует постараться не изменять DOM самостоятельно и вместо этого позволить Ember обрабатывать это (используя что-то вроде {{#if this.showPositionElements}} ... {{/if}}
, а затем переключая showPositionElements
).