Как получить содержание textarea nicEdit в ng-модели?
Я новичок в разработке Angular и HTML. Так что я пока не знаю всех возможностей и кодовых терминов.
Я создал форму, которая содержит богатое поле textarea. Я использовал nicEdit, так как это тот, который рекомендован mycompany (поэтому не может быть изменен редактор). Как вы можете видеть на изображении ниже, nicEdit работает хорошо.
Но когда я хочу получить содержимое поля в ng-модели, это не работает. Большая часть вопросов и ответов на форуме сообщает, что эта ng-модель не работает должным образом с этой текстовой областью nicEdit. Я нашел кое-что о директиве для создания. Поэтому я попытался изменить один из них, посвященный ckEditor. Но это не работает. Я обнаружил, что $('div.nicEdit-main') был обновлен div (но не мое поле htmlLondDesc, присоединенное к текстовой области nicEdit, ни ng-модель).
Я также нашел кое-что о nicEditors.findEditor('htmlLongDesc'). GetContent(); но я не знаю, где его использовать в модели нг...
Итак, как получить содержимое nicEdit и сохранить его в ng-модели? Заранее спасибо за помощь.
Вот изображение текстовой области. Вот мой код js и html:
scApp.directive('ncGetContent', function () {
return {
require: 'ngModel',
link: function (scope, elm, attr, ngModel) {
var content = $('div.nicEdit-main').html();
if (!ngModel) return;
content.on('instanceReady', function () {
content.setData(ngModel.$viewValue);
});
function updateModel() {
scope.$apply(function () {
ngModel.$setViewValue(content.getData());
});
}
content.on('change', updateModel);
content.on('key', updateModel);
content.on('dataReady', updateModel);
ngModel.$render = function (value) {
content.setData(ngModel.$viewValue);
};
}
};
});
<head>
<script type="text/javascript">
bkLib.onDomLoaded(function() {
var myEditor = new nicEditor({buttonList : ['bold','italic','underline','subscript','superscript','forecolor','bgcolor']}).panelInstance('htmlLongDesc');
var nicInstance = nicEditors.findEditor('htmlLongDesc');
});
</script>
</head>
...
<textarea id="htmlLongDesc" cols="140" rows="6" name="htmlLongDesc" ng-model="user.htmlLongDesc" ncGetContent ></textarea>