2016-11-07 4 views
0

Ich habe ein Problem mit Anuglar. ng-bind aktualisiert Textarea nicht, wenn der Wert durch Benutzereingaben geändert wurde.Angular - Kann Update Textarea nach Benutzereingabe

Hinweis: Der Grund, dass ich ng-bind anstelle von ng-Modell verwende, ist, dass ich ng-bind-html brauche, da die Eingabe in HTML mit ngSanitize somatisiert ist.

Demo: http://jsfiddle.net/Lvc0u55v/11682/

Hier ist, wie zu sehen, was im Gespräch über: Wählen Sie anyvalue von Drop-Down-und Textbereich aktualisiert wird. Wählen Sie aber New Value und fügen Sie Text in das Textfeld ein. Dann ändern Sie die Auswahlbox auf einen beliebigen Wert und textarea ändert sich nie wieder!

Code:

[SCRIPT]

$scope.msg_templates = []; //array of {id, title, msg} filled with required stuff 
$scope.msg_templates[0] = {id:'0', title:'{New Value}', msg:''}; //first item is to enter new value 
$scope.msg_templates[1] = {id:'1', title:'TTT', msg:'TTT'}; 
$scope.msg_templates[2] = {id:'2', title:'XXX', msg:'XXX'}; 
. 
. 

//set default value 
$scope.msg_sel = ''; 
$scope.msg_field = ''; 

//change msg function 
$scope.change_msg_sel = function() 
{ 
    if($scope.msg_sel==null){ 
    $scope.msg_field = ''; 
    return false; 
    } 

    $scope.msg_field = $scope.msg_sel.msg; 
}; 

[HTML]

<select ng-model="msg_sel" ng-change="change_msg_sel()" ng-options="v.title for v in msg_templates"> 
<option value="">Please Select -</option> 
</select> 

<textarea ng-bind-html="msg_field"></textarea> 
+0

ist 'v.title für v in msg_templates' vorsätzlichen oder es ist wohl' comm_templates' zu verwenden? Und Sie sollten '