尝试使用tinyMCE自定义绑定。 我的模型C#:
public sealed class CabinetShapeEditModel
{
public string Description { get; set; }
}
在视图中:
<script type="text/javascript">
var jso = @Html.Raw(Json.Encode(Model));
var viewModel = ko.mapping.fromJS(jso);
</script>
我的HTML:
<div style="min-height: 250px; padding-left: 10px; padding-top: 5px;">
<textarea data-bind="wysiwyg: Description, wysiwygConfig: {selector:selector, menubar:false, statusbar : false, height: 210, toolbar: 'undo redo | styleselect | bold italic | link unlink | image | media | charmap| code | table | ltr rtl | emoticons | forecolor backcolor | fullscreen | preview', plugins: 'hr,link,image,charmap,preview,code,fullscreen,insertdatetime,media,table,directionality,emoticons,textcolor' }"></textarea>
</div><script type="text/javascript">
ko.applyBindings(viewModel);</script>
JavaScript:https://github.com/michaelpapworth/tinymce-knockout-binding
但总是记得错误: 未捕获的TypeError:无法处理绑定“wysiwyg:function(){return Description}” 消息:对象[object Object]没有方法'tinymce'
我做错了什么?
答案 0 :(得分:2)
错误Message: Object [object Object] has no method 'tinymce'
表示您未包含jquery.tinymce.min.js
插件。我已经更新docs以澄清这一点。
答案 1 :(得分:0)
尝试
,转到“脚本”面板并在第57行设置断点
$(element).text(value).tinymce(defaults);
现在重新加载页面。这应该在错误发生之前触发调试器。
$(element)
应该是您的文字区域,value
应该是您的Description
。虽然开发工具已在断点处停止,但打开控制台,手动运行这些步骤并查看是否有任何意外返回:
$(element)
$(element).text(value)
$(element).text(value).tinymce(defaults)