一尘不染

ng-repeat中的AngularJS ng-model $ scope未定义

angularjs

如果我的措词不正确,我事先表示歉意。我在的ng-model内部有一个文本框,ng- repeat当我尝试获取文本框值时始终为undefined。我只希望它显示我在相应文本框中键入的内容。

似乎是一个问题$scope,那么我该如何创建$scope.postText全局或控制器根级别以便可以访问它?

这是帮助解决问题的JSFiddle:http :
//jsfiddle.net/stevenng/9mx9B/14/


阅读 197

收藏
2020-07-04

共1个答案

一尘不染

在您的点击表达式中,您可以引用postText并在您的savePost函数中对其进行访问。如果这不在ng-
repeat中,则可以$scope.postText成功访问单个对象,但是ng-
repeat
为每个项目创建一个新作用域。

是更新的小提琴。

<div ng-repeat="post in posts">
   <strong>{{post}}</strong>
   <input type="text" ng-model="postText">
   <a href="#" ng-click="savePost(postText)">save post</a>
</div>

$scope.savePost = function(post){
   alert('post stuff in textbox: ' + post);
}
2020-07-04