如何在 angular summernote 中插入自定义按钮
How to insert a custom button in angular summernote
根据 documentation,你应该这样做:
<div ng-controller="OptCtrl">
<summernote config="options"></summernote>
</div>
var HelloButton = function (context) {
var ui = $.summernote.ui;
// create button
var button = ui.button({
contents: '<i class="fa fa-child"/> Hello',
tooltip: 'hello',
click: function () {
// invoke insertText method with 'hello' on editor module.
context.invoke('editor.insertText', 'hello');
}
});
return button.render(); // return button as jquery object
}
angular.module('summernoteDemo', ['summernote'])
.controller('OptCtrl', function($scope) {
$scope.options = {
toolbar: [
['mybutton', ['hello']]
],
buttons: {
hello: HelloButton
}
};
});
我试过这个例子。它很好地显示了问候按钮,但是当我点击它时出现错误:
Uncaught TypeError: Cannot read property 'invoke' of undefined
这一行context.invoke('editor.insertText', 'hello');
(上下文 未定义..)
你知道如何解决吗?
我正在使用:
"summernote": "^0.7.3",
"angular-summernote": "^0.7.1"
谢谢
通过将 summernote 和 angular-summernote 更新到最新版本解决了问题。
根据 documentation,你应该这样做:
<div ng-controller="OptCtrl">
<summernote config="options"></summernote>
</div>
var HelloButton = function (context) {
var ui = $.summernote.ui;
// create button
var button = ui.button({
contents: '<i class="fa fa-child"/> Hello',
tooltip: 'hello',
click: function () {
// invoke insertText method with 'hello' on editor module.
context.invoke('editor.insertText', 'hello');
}
});
return button.render(); // return button as jquery object
}
angular.module('summernoteDemo', ['summernote'])
.controller('OptCtrl', function($scope) {
$scope.options = {
toolbar: [
['mybutton', ['hello']]
],
buttons: {
hello: HelloButton
}
};
});
我试过这个例子。它很好地显示了问候按钮,但是当我点击它时出现错误:
Uncaught TypeError: Cannot read property 'invoke' of undefined
这一行context.invoke('editor.insertText', 'hello');
(上下文 未定义..)
你知道如何解决吗?
我正在使用:
"summernote": "^0.7.3",
"angular-summernote": "^0.7.1"
谢谢
通过将 summernote 和 angular-summernote 更新到最新版本解决了问题。