2016-07-02 2 views
0

に取り付けたモデルをクリアした後、私はnewNoteTextと呼ばれる$scope変数に添付textareaを持つことになります。 htmlはテキストエリアは明確ではないangularjs

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

入力されたメモを保存するボタンもあります。

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

私は$ scope.newNoteTextが空の文字列にリセットされているにconsole.logで確認:

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

は、ここでコントローラ機能btnPost_clickedです。しかし、テキストエリアはまだ古いテキストを保持しています。

+0

私はそれが問題であるべきとは思わない... 'テキストarea'がNG'内側にあるん-repeat'? –

+0

@PankajParkarいいえ、それは 'NG-repeat'ではありません。あなたはplunkrで問題を再現することができ、いくつかのより多くのコード – 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

関連する問題