如何使用淘汰赛js(MVVM)在mvc中绑定值summernote编辑器

har*_*dik 2 javascript mvvm knockout.js

我在我的 mvc 项目中成功集成了 Summernote 编辑器,但我无法从 textarea 中获取值。

我使用了淘汰赛(MVVM)结构。

<tbody data-bind='with:demo'>
     <textarea class="summernote" placeholder="Description" data-bind='value:   Description'></textarea>
</tbody>

var Demo = function (demo) {
var self = this;
self.Description = ko.observable(demo? demo.Description : '');
 }

var DemoViewModel = function () {
   var self = this;
   self.demo= ko.observable(new Demo());
 }

ko.applyBindings(new DemoViewModel ())
Run Code Online (Sandbox Code Playgroud)

Moe*_*oes 5

你最好的选择是像这样创建自定义绑定

ko.bindingHandlers.summernote = {
    init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
        var value = ko.unwrap(valueAccessor());
        var $element = $(element);
        $element.html(value).summernote({
          callbacks:{
            onChange: function (contents) {
                valueAccessor()(contents);
            }
          }
        });
    }
};
Run Code Online (Sandbox Code Playgroud)

你可以称之为

<textarea  data-bind="summernote: Description"></textarea>
Run Code Online (Sandbox Code Playgroud)