2016-07-02 54 views
0

我有textarea附加到$scope變量newNoteText。 html是:Textarea將清除在angularjs附加模型後不清除

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

還有一個按鈕可以保存鍵入的音符。

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

這裏的控制器功能btnPost_clicked

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

我通過的console.log是$ scope.newNoteText被重置爲空字符串證實。但textarea仍然保留着舊文本。

+0

我不認爲這應該是問題......確實'文本area'裏面'納克-repeat'? –

+0

@PankajParkar不,它不是'ng-repeat'。 – Legion

+0

@Legion如果你張貼更多的代碼可能會有幫助 –

回答

0

只有當您在$ scope.addNote(newNoteText)中發生錯誤時纔會發生這種情況。看下面的代碼,並嘗試我創建的jsfiddle。我只是在addNote中記錄newNoteText,並且一切看起來都正常。

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

不是它可能發生的唯一原因...如'ng-if'或'ng-include'中的子範圍嵌套也會中斷基元的綁定 – charlietfl

+0

是的,但是您不認爲在這種情況下,即使我們不應該能夠調用$ scope.btnPost_clicked? –

+0

不...因爲函數不是原語,所以在子範圍中有繼承 – charlietfl