ng-repeat如何处理其中的内容范围变量

时间:2015-06-24 23:51:26

标签: javascript angularjs angularjs-directive angularjs-ng-repeat

所有

我是AngularJS指令范围的新手。我想知道是否有人可以谈论$scope.editdata如何处理其中html中指定的变量的过程。

例如:

ng-repeat

我想知道的是:

[1]。我想知道在ng-repeat内如何更改d和edited_odd_times而不将它们作为参数,或者如何访问ng-repeat生成的范围?

[2]。为什么scope:true可以影响其中HTML的变量,而指令(比方说我想定义一个指令工作,如public function books() { return $this->hasMany('App\Book'); } 但只是不重复)public function user() { return $this->belongsTo('App\User'); } 和转换不能影响HTML中的变量?

由于

1 个答案:

答案 0 :(得分:0)

您的准备​​的直接答案如下。

[1] 您应该认为无法从其父作用域访问子作用域中生成的值。 换句话说,控制器范围不应该访问指令中生成的范围值。

[2] 你可以使用ngTransclude。请再次查看官方文档。

我想你想要达到的目标如下。

在Html中。

<div ng-app="testapp" ng-controller="testctrl">
    <div ng-repeat="d in data">
        {{d}}
    </div>
</div>

在控制器代码中。

angular.module('testapp', [])
.controller('testctrl', function($scope){
    $scope.data = [1,2,3];
    angular.forEach($scope.data, function(item, i){
        if (i%2==0){
            $scope.data[i] = item + '(edited)';
        }
    });
})

jsfiddle is here.

我希望这可以帮到你。 :)