jquery - 我可以从 jquery 函数创建 ember 计算属性吗?

标签 jquery css ember.js

我正在尝试将两个表格绑定(bind)在一起,以便它们的元素的宽度和高度相同。不幸的是,每当我测量源表的宽度/高度时,我总是在浏览器更改单元格以匹配数据之前得到一个中间值。如果我可以从 jquery 的宽度和高度方法创建一个计算属性,那就太好了。像这样的东西:

width: ( ->
  @$().width()
).property('@$().width()')

这可能吗?似乎我应该能够在运行循环中的某处调用 jquery,与宽度的最后一个值进行比较,如果它们不同则发送 elementDidChange。但是,我不知道该怎么做 ;)

谢谢!

最佳答案

不,你不能这样附加它。

您可以附加到 View 上的事件列表。

http://emberjs.com/guides/understanding-ember/the-view-layer/#toc_adding-new-events

didInsertElement 上设置宽度,您也可以在 afterRender 上执行此操作,直到所有内容都呈现给您合适的尺寸后才运行。

App.FooView = Em.View.extend({
  setupWidth: function(){
    var el = this.$(),
        self = this;
    this.set('width', self.width());
    Em.run.scheduleOnce('afterRender', function(){
      self.set('width', self.width());
    });
  }.on('didInsertElement')
});

此外,如果窗口发生变化,您可以挂接一个额外的事件。

关于jquery - 我可以从 jquery 函数创建 ember 计算属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24153071/

相关文章:

html - 移动优先设计和打印

css - 如何使用 CSS 将内容居中放置在 div 中?

javascript - 在 TweenMax 中向定向旋转添加完整旋转(360 度)

jquery - 在 .hover() 上加载按钮,但为每个子元素动态加载

javascript - 使用 jQuery onclick 将数据传递到部分 View

css - .css 文件中的相对图像路径是否存在浏览器兼容性问题?

ember.js - emberjs Controller 的需求返回未定义且无法访问 controller.content

javascript - 了解 Ember 代码以从列表中 findSection

javascript - 如何在 ember 构建中排除组件

javascript - jQuery 计算有多少个带有类的 div 并放入字符串中