Javascript 获取TextArea angularjs的值

Javascript 获取TextArea angularjs的值,javascript,angularjs,scope,textarea,angular-ngmodel,Javascript,Angularjs,Scope,Textarea,Angular Ngmodel,我有一个文本区: <textarea class="notes" ng-model="notes" placeholder="Some text" style="height: 630px;"></textarea> 据我所知,notes应该返回textarea的值,但它始终返回“undefined”。有人能发现问题吗 感谢您在“$scope.notes”中检索notes的值。 解决方案: <button ng-click="saveNotes()"><

我有一个文本区:

<textarea class="notes" ng-model="notes" placeholder="Some text" style="height: 630px;"></textarea>
据我所知,notes应该返回textarea的值,但它始终返回“undefined”。有人能发现问题吗


感谢您在“$scope.notes”中检索notes的值。 解决方案:

<button ng-click="saveNotes()"></button>

也许可以尝试将变量分配给控制器,而不是像这样的范围

<div ng-controller='myController as app'>
<textarea class="notes" ng-model="app.notes" placeholder="Some text" style="height: 630px;"></textarea>
<button ng-click="app.saveNotes(app.notes)"></button>
</div>

我认为这有助于防止冲突的作用域

我使用了您的解决方案,但仍然出现相同的错误。您是否检查了它们是否在同一控制器下(因此是同一作用域)@b注意它们在同一控制器下。还有其他原因吗?我想可能是在ng模型中使用notes之前没有定义notes的问题,或者是作用域有一个奇怪的问题。我发现管理作用域最简单的方法是将变量分配给控制器,而不是$scope。它可能会稍微长一点,但是当你有一个范围问题时会更容易判断。对于第一个解释,你可以使用ng init('notes')为控制器分配变量。我举了一个例子作为答案
<button ng-click="saveNotes()"></button>
$scope.saveNotes = function() {
    console.log($scope.notes);
    student.saveNotes($scope.notes, function() {
        console.log("Successfully saved notes.")
    }
)};
<div ng-controller='myController as app'>
<textarea class="notes" ng-model="app.notes" placeholder="Some text" style="height: 630px;"></textarea>
<button ng-click="app.saveNotes(app.notes)"></button>
</div>
this.saveNotes = function(notes) {
console.log(notes);
student.saveNotes(notes, function() {
    console.log("Successfully saved notes.")
}
)};