2017-05-11 5 views
0

Ich benutze Ui-Ace-Direktive, um Ace-Editor in einer eckigen Anwendung zu implementieren. Ich habe eine Schaltfläche, mit der ich dynamisch Daten zu einem Ace-Editor hinzufügen kann. Jetzt, wenn ein Benutzer auf die Schaltfläche klickt, verwende ich setValue-Methode, um den Wert von Ace-Editor zu aktualisieren, aber der Wert spiegelt nicht in ngModel. Was ist der beste Weg?Wie wird ngModel aktualisiert, wenn der Wert des ui-ace-Editors mit setValue aktualisiert wird?

Hier ist, wie ich den Wert gesetzt ...

$scope.addUserInput = function (input) { 
    var currentValue = $scope.aceEditor.getValue(); 

    if(SqlTokenizer.isIdentifier(input.name)){ 
     $scope.aceEditor.setValue(currentValue + ":" + input.name, false); 
    } else{ 
     $scope.aceEditor.setValue(currentValue + ':"'+ input.name +'"', false); 
    } 
}; 

ich angelegt habe plunkr für das gleiche hier http://plnkr.co/edit/ez0cwr6PWhALpqu3wjZT?p=preview

Antwort

0

aktualisiert plnkr: http://plnkr.co/edit/GCnDPQnC7xoC6xqdOeqd

Das Problem ur ist das Hinzufügen/Aktualisieren der Text in Ihrem Editor muss das nicht tun.

müssen Sie nur Ihre Gültigkeitsbereichsvariable aktualisieren, die in allen Bindungsplätzen reflektiert wird.

anstelle dieses

//$scope.editor.setValue($scope.editor.getValue() + new Date().getTime()); 

Tun Sie dies

$scope.text = $scope.text + new Date().getTime(); 
Verwandte Themen