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/

相关文章:

javascript - 将带有换行符的值导出到 Excel 中的单个单元格中。 jQuery 数据表

javascript - Ajax (jQuery) PHP 脚本//move_uploaded_file-问题

jquery - 从 html 表生成图表 : JQuery

javascript - Ember.js 如何使用 View 观察选择变化 Ember.Select multiple=true?

javascript - 如何在emberjs中获取运行转换的目标

javascript - 样式化 ASP.NET Ajax 控件工具包组合框 - 更改列表悬停时的背景颜色

javascript - 左边距是否为 :2px; render faster than margin:0 0 0 2px;?

python - 该 Selenium 元素的正确元素类型是什么?

javascript - 通过原型(prototype)javascript更改类所有元素的样式

javascript - Ember 嵌套模型 : Find and remove child element from model