2016-07-02 6 views
0

Ich habe eine textarea an eine $scope Variable angeschlossen, die newNoteText genannt wird. Die html ist:Textarea wird nicht gelöscht, nachdem das beigefügte Modell in angularjs gelöscht wurde

<textarea spellcheck="true"    
      ng-model="newNoteText"></textarea> 

Es gibt auch eine Schaltfläche, die die eingegebene Notiz speichert.

<button type="button" class="btn btn-default" 
     ng-click="btnPost_clicked(newNoteText)">Post 
</button> 

Hier ist der Controller-Funktion btnPost_clicked:

 $scope.btnPost_clicked = function(newNoteText) { 
      $scope.addNote(newNoteText); 
      $scope.newNoteText = ''; 
     } 

ich über console.log bestätigt, dass $ scope.newNoteText zurückgesetzt auf eine leere Zeichenfolge sein. Aber das Textfeld enthält immer noch den alten Text.

+0

Ich glaube nicht, dass Problem sein sollte ... tut 'text-area' innen' ng -wiederholung? –

+0

@PankajParkar Nein, es ist nicht in einer 'ng-Wiederholung'. – Legion

+0

@Legion Es könnte hilfreich sein, wenn Sie mehr Code posten –

Antwort

0

Dies kann nur passieren, wenn Sie einen Fehler in $ scope.addNote (newNoteText) erhalten. Siehe unten stehenden Code und probiere jsfiddle, das ich erstellt habe. Ich logge nur newNoteText in addNote und alles scheint gut zu funktionieren.

HTML:

<div ng-controller="MainCtrl"> 

    <textarea spellcheck="true"    
      ng-model="newNoteText"></textarea> 

    <div>{{txt}}</div> 

    <button type="button" class="btn btn-default" 
     ng-click="btnPost_clicked(newNoteText)">Post 
</button> 
</div> 

JavaScript:

var app = angular.module('myApp', []); 

app.controller('MainCtrl', ['$scope', function($scope) { 
    $scope.txt = ''; 

    $scope.btnPost_clicked = function(newNoteText) { 
    $scope.addNote(newNoteText); 
    $scope.newNoteText = ''; 
    }; 

    $scope.addNote = function(newNoteText) { 
    console.log(newNoteText); 
    } 
}]); 

jsfiddle: https://jsfiddle.net/nikdtu/d89ftrmg/

+0

Nicht der einzige Grund, dass es passieren kann ... Kind Bereich Verschachtelung wie in 'ng-if' oder 'ng-include' wird Bindungen von Primitiven auch brechen – charlietfl

+0

Ja, aber denkst du in diesem Fall auch nicht wir sollten nicht in der Lage sein, $ scope.btnPost_clicked aufzurufen? –

+0

Nein ...Da Funktionen keine Primitiven sind, gibt es Vererbung in untergeordneten Bereichen – charlietfl

Verwandte Themen