我用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
    }
});


因此,我需要创建新视图仅用于插入一行代码。正确的方法吗?

最佳答案

在这里使用普通视图不是一个好主意。首先,视图将被贬值。其次,除了视图本身之外,您没有任何其他价值。将组件用于此类事情会更好,可重用。

假设您的Bower文件中有summernote,则可以创建一个如下所示的组件:

SummernoteEditor = Ember.Component.extend({
  didInsertElement: function() {
    this.$("textarea").summernote();
  }
});


并为该组件添加模板:

{{textarea value=text}}


然后,在您应用的任何地方都将使用:

{{summernote-editor value=myValueProperty}}


此外,如果最终使用summernote需要更大的灵活性,则可以在组件中添加操作和方法。这样,您可以例如将有关更新,编辑等操作发送到您的控制器。

关于javascript - Emberjs中的 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30435048/

10-10 22:04