5

我需要为 Ember.View 分配一个静态数据属性,如何在 View 对象而不是{{view }}标签中设置它。

App.MessagesFormView = Ember.View.extend({
  tagName: 'div',
  classNames: ['modal', 'fade'],
  didInsertElement: function() {
    this.$().modal('show')
  },
  willDestroyElement: function() {
    this.$().modal('hide')
  },
})
4

2 回答 2

6

不幸的是,我没有足够的声誉来评论 Ola 的答案,但我认为更好的方法是不使用字符串(引号中的文本)来表示数据属性属性名称。相反,在 camelCase 中写入您的属性名称,Ember 会自动将其绑定到连字符的属性绑定。例如:

App.MessagesFormView = Ember.View.extend({
  tagName: 'div',
  attributeBindings: ['data-backdrop'], 
  dataBackdrop: 'static', // Binds to data-backdrop. Awesome!
});

我希望这是有道理的!

于 2013-11-26T18:41:20.733 回答
4

这必须使用Ember.View 对象的attributeBindingsand data-backdropor属性来完成。data-whatever

App.MessagesFormView = Ember.View.extend({
  tagName: 'div',
  classNames: ['modal', 'fade'],
  // Set a data attribute, of a view, requires both an attribute binding and
  // an attribute assignment
  attributeBindings: ['data-backdrop'],
  'data-backdrop': 'static',
  didInsertElement: function() {
    this.$().modal('show')
  },
  willDestroyElement: function() {
    this.$().modal('hide')
  },
})
于 2013-04-19T23:47:19.027 回答