Angularjs 为什么angular.js transclude childScope不继承parentScope?

Angularjs 为什么angular.js transclude childScope不继承parentScope?,angularjs,angularjs-scope,Angularjs,Angularjs Scope,非常感谢您对这个问题的关注,这个问题是angular子作用域在我使用transclude指令时没有从父作用域继承,这个问题与angular.js版本在1.2.17之前可以工作,版本1.2.18之后无效 这是实际测试结果的两个版本。 })) App.directive(“testDire”),函数($parse){ 返回{ 限制:'A', 是的, 模板:“”, 范围:假, 链接:函数(范围、iele、属性、ctrl、transclude){ var getter=$parse(attrs.dat

非常感谢您对这个问题的关注,这个问题是angular子作用域在我使用transclude指令时没有从父作用域继承,这个问题与angular.js版本在1.2.17之前可以工作,版本1.2.18之后无效

这是实际测试结果的两个版本。

}))

App.directive(“testDire”),函数($parse){
返回{
限制:'A',
是的,
模板:“”,
范围:假,
链接:函数(范围、iele、属性、ctrl、transclude){
var getter=$parse(attrs.data)
范围。$items=getter(范围);
}
};
})


这就是AngularJS的构建方式:transcluded指令的作用域是container指令的同级,它们都继承父作用域

有很好的解释和解决方法

var App= angular.module("myApp",[]);
App.controller("testCtrl",function($scope){
$scope.names= [{name:"janry",value:123},{name:"janry",value:123},{name:"janry",value:123}]
$scope.dd="hello world"
App.directive("testDire",function($parse){
return {
    restrict:'A',
    transclude:true,
    template:"<div  ng-repeat='$item in $items' ng-transclude></div>",
    scope:false,
    link:function(scope,iele,attrs,ctrl,transclude){
         var getter=$parse(attrs.data)
         scope.$items = getter(scope);     
    }
};