javascript - 如何获取 AngularJS 中 ngRepeated 元素的当前子范围?

标签 javascript angularjs

这似乎是一个简单的问题,但我已经搜索了一段时间,似乎找不到它。

在我的 JS 中,我有一个名为 parseTags(book) 的东西,它采用 JSON 逗号分隔的标签列表 (book.tags) 并将其解析为数组:

$scope.parseTags = function(book){
    book.tags = book.tags.split(',');
};

在我的 HTML 中,我有这样的内容:

<div ng-repeat="book in books" ng-init="parseTags(book)">{{book.title}}</div>

有没有办法从 $scope.parseTags 函数中获取子作用域?而不是每次都传入book

类似于:

$scope.parseTags = function($childScope){
     $childScope.tags = $childScope.tags.split(',');
}

<div ng-repeat="book in books" ng-init="parseTags()">{{book.title}}</div>

最佳答案

parseTags 函数在当前子作用域的上下文中执行。所以 parseTags 也可以写成:

$scope.parseTags = function() {
    this.book.tags = this.book.tags.split(',');
};

演示:http://plnkr.co/edit/DUkDVOMjjj0khh5KCYo7?p=preview

关于javascript - 如何获取 AngularJS 中 ngRepeated 元素的当前子范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22040373/

相关文章:

javascript - native JS 二进制渲染

Javascript 变量范围混淆

javascript - 如何使 Ckeditor richcombo 像 html datalist 正常搜索一样可搜索

angularjs - 刷新 selectize 中的新选项

javascript - AngularJS 两种方式绑定(bind)数学运算

javascript - Angular ng-repeat 通过子数组

基于表单答案的 Javascript 计算

javascript - 使用 Node.js 将表单数据发布到 MySQL

php - 使用 AngularJS 处理 PHP $_POST?

javascript - 为什么我的 angularJS 在我的示例网站上不起作用?