如何在ng-model中获取nicEdit textarea内容?

How to get nicEdit textarea content in ng-model?

提问人:K. Gratiot 提问时间:3/31/2017 更新时间:3/31/2017 访问量:501

问:

我是 Angular 和 html 开发的新手。所以我还不知道所有功能和代码术语。

我创建了一个包含丰富文本区域字段的表单。我使用了nicEdit,因为这是我的公司推荐的(所以不能更改编辑器)。 如下图所示,nicEdit运行良好。

但是当我想在 ng-model 中获取字段内容时,它不起作用。 大多数论坛问答都告知 ng-model 无法与该 nicEdit 文本区域正常工作。我发现了一些关于要创建的指令的东西。所以我尝试修改一个专用于 ckEditor 的。 但这行不通。我发现$('div.nicEdit-main')是更新的div(但不是我的字段htmlLondDesc附加到nicEdit文本区域,也不是ng-model)。

我还发现了一些关于nicEditors.findEditor('htmlLongDesc').getContent()的信息;但我不知道在 ng-model 中在哪里使用它......

那么如何获取nicEdit的内容并保存在ng-model中呢? 提前感谢您的帮助。

这是文本区域的图像这是我的 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>
                        

文本区 angular-ngmodel nicedit ob-get-contents

评论

0赞 K. Gratiot 5/11/2017
嗨,没有人帮我?:-(

答: 暂无答案