Javascript Emberjs中的视图

Javascript Emberjs中的视图,javascript,jquery,ember.js,Javascript,Jquery,Ember.js,我正在用emberjs开发一个系统,它需要很多jquery插件。 例如:我只需要从div制作所见即所得编辑器 $('.summernote').summernote(); 正如我所知,我需要这样写代码: import Ember from 'ember'; export default Ember.View.extend(Ember.TargetActionSupport, { templateName: 'views/block-view', didInsertElemen

我正在用emberjs开发一个系统,它需要很多jquery插件。 例如:我只需要从div制作所见即所得编辑器

$('.summernote').summernote();
正如我所知,我需要这样写代码:

import Ember from 'ember';

export default Ember.View.extend(Ember.TargetActionSupport, {
    templateName: 'views/block-view',
    didInsertElement: function() {
       $('.summernote').summernote(); //here
    }
});
SummernoteEditor = Ember.Component.extend({
  didInsertElement: function() {
    this.$("textarea").summernote();
  }
});

所以我需要创建一个新的视图来插入一行代码。这是正确的方法吗?

在这里使用普通视图不是一个好主意。首先,观点将被贬低。其次,除了视图本身,您不会获得任何价值。将组件用于这样的事情会更好、更可重用

假设bower文件中有summernote,则可以创建如下组件:

import Ember from 'ember';

export default Ember.View.extend(Ember.TargetActionSupport, {
    templateName: 'views/block-view',
    didInsertElement: function() {
       $('.summernote').summernote(); //here
    }
});
SummernoteEditor = Ember.Component.extend({
  didInsertElement: function() {
    this.$("textarea").summernote();
  }
});
并为该组件添加一个模板:

{{textarea value=text}}
然后,在应用程序中的任何地方,您都可以使用:

{{summernote-editor value=myValueProperty}}

此外,如果您最终需要使用summernote获得更大的灵活性,您可以向组件添加操作和方法。通过这种方式,您可以向控制器发送更新、编辑等操作。

您应该使用组件而不是视图,其他一切看起来都很好