不同的 JS 语法 - 如何将这些属性添加到变量?

Different JS Syntax - How to add these properties to variable?

我有两个相似的js代码

这个问题与js相关多于library。 我正在使用 quilljs 库来实现文本编辑器,我可以在加载库之前自定义它的设置。

我已经这样配置了库:

var toolbarOptions = [
  [{ 'font': [] }],
  [{ 'header': [1, 2, 3, 4, 5, 6, false] }],
  [{ 'align': [] }],
  ['bold', 'italic', 'underline', 'strike'],        // toggled buttons
  [{ 'color': [] }, { 'background': [] }],          // dropdown with defaults from theme
  ['blockquote', 'code-block'],

  [{ 'list': 'ordered'}, { 'list': 'bullet' }],
  [{ 'script': 'sub'}, { 'script': 'super' }],      // superscript/subscript
  [{ 'indent': '-1'}, { 'indent': '+1' }],          // outdent/indent
  [ 'link', 'video', 'formula' ], 
  ['clean']                                        // remove formatting button
];

var quill = new Quill('#editor', {
  modules: {
    toolbar: toolbarOptions
  },
  placeholder: 'Compose a post...',
  theme: 'snow',
  'image-tooltip': true,
  'link-tooltip': true
});

$('#contenthidden').val(quill.root.innerHTML);

     );

无论如何,我显然需要将下面的代码添加到 toolbarOptions 变量中,然后我必须加载 quilljs 等等...... 但其内容完全不同。 Javascript 明智的我不明白如何将此 toolbarOptions 变量的内容添加到上面的第一个。

var toolbarOptions = {
  handlers: {
    // handlers object will be merged with default handlers object
    'link': function(value) {
      if (value) {
        var href = prompt('Enter the URL');
        this.quill.format('link', href);
      } else {
        this.quill.format('link', false);
      }
    }
  }
}

感谢任何帮助。

看文档好像省略了:

toolbar : { container : containerOptions, handlers : handlerOptions } 

并且只做:

toolbar : containerOptions

只是一个快捷方式,因为 container 选项很常见。因此,您必须使用第一种形式来指定处理程序选项。

var toolbarOptions = {
    container: [
      [{ 'font': [] }],
      [{ 'header': [1, 2, 3, 4, 5, 6, false] }],
      [{ 'align': [] }],
      ['bold', 'italic', 'underline', 'strike'],        // toggled buttons
      [{ 'color': [] }, { 'background': [] }],          // dropdown with defaults from theme
      ['blockquote', 'code-block'],

      [{ 'list': 'ordered'}, { 'list': 'bullet' }],
      [{ 'script': 'sub'}, { 'script': 'super' }],      // superscript/subscript
      [{ 'indent': '-1'}, { 'indent': '+1' }],          // outdent/indent
      [ 'link', 'video', 'formula' ], 
      ['clean']                                        // remove formatting button
    ],
  handlers: {
    // handlers object will be merged with default handlers object
    'link': function(value) {
      if (value) {
        var href = prompt('Enter the URL');
        this.quill.format('link', href);
      } else {
        this.quill.format('link', false);
      }
    }
  }
}