【发布时间】:2015-12-27 22:38:53
【问题描述】:
我有一个文本区域:
<textarea class="notes" ng-model="notes" placeholder="Some text" style="height: 630px;"></textarea>
然后我有一个按钮:
<button ng-click="saveNotes(notes)"></button>
然后我的控制器中有这个方法:
$scope.saveNotes = function(notes) {
console.log(notes);
student.saveNotes(notes, function() {
console.log("Successfully saved notes.")
}
)};
据我所知,notes 应该返回 textarea 的值,但它始终返回“未定义”。谁能发现问题?
谢谢
【问题讨论】:
-
您是否检查过它们是否在同一个控制器下(因此在同一个范围内)
-
@Binvention 它们在同一个控制器下。还有什么可能是原因吗?
-
我认为这要么是在用于 ng 模型之前未定义注释的问题,要么是范围存在奇怪的问题。我发现管理范围最简单的方法是将变量分配给控制器而不是 $scope。它可能会更长一些,但当您遇到范围问题时更容易判断
-
对于第一个解释,您可以使用 ng-init('notes') 将变量分配给控制器,我举了一个例子作为答案
标签: javascript angularjs scope textarea angular-ngmodel