0

Ich habe ckeditor mit wiris-Plug-in, und ich habe ck-Editoren-Instanzen in ng-repeate, wenn Benutzer jede wiris Frage bei jeder Instanz von ck-Editor, dieser Beitrag wird auf Faust Instanz veröffentlicht von ck-editor.Ich möchte, wenn 3 Instanzen von ck-Editoren in ng-repeat, Benutzer zweite Instanz von ck-Editor mit wiris-Gleichung dann post, dass Beitrag nur auf 2. Instanz von ck-Editor nur angezeigt werden soll, Derzeit zeigt es nur bei 1. Instanz. Mein html:Angularjs mehrere kkEditors haben die gleiche ngModel

 <div ng-repeat="item in items"> 
<form role="form" name="DiscussionForm" novalidate> 
      <input type="text" name="followup" ng-model="followupDis" 
    ck-editor placeholder="Compose" required> 
      <div><button type="submit"ng-click="start()">Post</button> 
      </div> 
     </form> 
</div> 

in js

app.directive('ckEditor', function() { 
     return { 
      require: '?ngModel', 
      link: function(scope, elm, attr, ngModel) { 
       var ck = CKEDITOR.replace(elm[0]); 

       if (!ngModel) return; 

       ck.on('instanceReady', function() { 
        ck.setData(ngModel.$viewValue); 
       }); 

       function updateModel() { 
        scope.$apply(function() { 
         ngModel.$setViewValue(ck.getData()); 
        }); 
       } 

       ck.on('change', updateModel); 
       ck.on('focus', updateModel); 
       ck.on('key', updateModel); 
       ck.on('dataReady', updateModel); 

       ngModel.$render = function(value) { 
        ck.setData(ngModel.$viewValue); 
       }; 
      } 
     }; 
    }); 

ich in Richtlinie erwarte habe ich die Instanz für das erste Element erstellen var ck = CKEDITOR.replace(elm[0]); so sollte es ändern. So kann jeder die Lösung für mehrere Instanzen von ckeditor mit wiris teilen.

Antwort

0

Ich habe gefunden, durch Ändern der ID des Attributs können wir dieses lösen.

in js:

app.directive('ckEditor', function() { 
     var counter = 0, prefix = "followupDiscussionPostReply-"; 
     return { 
      require: '?ngModel', 
      link: function(scope, elm, attr, ngModel) { 

       if (!attr.id) { 
        attr.$set('id', prefix + (++counter)); 
       } 
       // rest of the code 

fixiert diese Änderungen die mehrere ckeditors für mich gleiche ngModel Problem.

Verwandte Themen