Ember.js:检查 View 元素是否插入到 DOM 中

标签 ember.js

在 Ember.View 子类的方法中,仅当 View 元素已插入 DOM 时,我才会对 DOM 进行更改。我该如何检查?

我知道我可以创建一个辅助属性,如下所示:

didInsertElement: function() {
  this.set('elementIsInserted', true);
}
willDestroyElement: function() {
  this.set('elementIsInserted', false);
}

但是有一些规范的内置方法吗?

我没有发现任何略读内容 view.js ,但也许我遗漏了一些东西。

最佳答案

每个 View 都有一个 _state 属性,该属性在插入元素时设置为“inDOM”。

if (this._state=="inDOM") doStuff();

应该可以工作。确保您拥有正确的this!

关于Ember.js:检查 View 元素是否插入到 DOM 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10568757/

相关文章:

javascript - 如何处理包装 View 或 View Controller 中 Ember 组件的操作 "sent"?

javascript - Ember.js 中的嵌套路由和模板替换

ember.js - 在 Ember 组件中获取当前路由的模型

ember.js - Emberjs 模板中的增量

templates - 如何在 EmberJS 中呈现除 application.hbs 以外的模板?

javascript - Ember - HandleBar 不显示 blob 图像

ember.js - Emberjs - 如何访问 RC1 中的当前状态或路线名称?

javascript - 运行 'ember server' 会导致构建失败并出现 EEXIST 错误?

backbone.js - YII HTML 渲染

javascript - 有没有办法告诉 Ember.js 应用程序在哪个环境(开发/生产)中运行?