5

如何使TextArea autogrow插件与 ember.js 一起使用?它似乎不适用于Ember.TextArea.

我试过这个(咖啡脚本):

  App.TextField = Ember.TextArea.extend
    didInsertElement: ->
      opts =
        animate: false
        cloneClass: 'faketextarea'
      @$().autogrow(opts)
4

2 回答 2

7

Ember 获取视图的方式似乎存在问题,this.$()该视图无法与 autogrow 插件很好地配合使用,导致 autogrow 无法正确侦听TextArea. 使用视图的 显式创建选择器elementId允许您的示例工作。

我正在使用 Ember 1.0.0-PRE.4

示例:http: //jsbin.com/adedag/8/edit

App.TextField = Ember.TextArea.extend({
  didInsertElement: function() {
    opts = {
      animate: false,
      cloneClass: 'faketextarea'
    }
    $('#'+this.get('elementId')).autogrow(opts);
  }
});
于 2013-01-23T04:24:34.160 回答
6

如果您使用的是 Bower,请考虑这个替代方案:http ://www.jacklmoore.com/autosize/

"dependencies": {
    "jquery": "~2.0",
    "ember": "1.2.0-beta.4",
    "ember-data-shim": "v1.0.0-beta.3",
    "handlebars": "1.1.2",
    "jquery-autosize":""
},

然后

App.AutosizeTextArea = Ember.TextArea.extend({
didInsertElement: function() {
    $('#'+this.get('elementId')).autosize();
}

});

{{view App.AutosizeTextArea value=notes}}
于 2013-12-09T17:30:18.017 回答