Javascript AngularJS:如何访问指令&x27;转置内容中的范围?

Javascript AngularJS:如何访问指令&x27;转置内容中的范围?,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我很难让我的转移指令发挥作用。我想执行以下操作:创建一个指令,输出一个列表,其中每个项的内容由转置内容定义。例如: <op-list items="myItems"> <span class="item">{{item.title}}</span> </op-list> {{item.title} 因此,我将在op list的模板中使用ng repeat,并且必须能够在转置的内容中访问ng repeat创建的范围 这就是我到目前为止所做的

我很难让我的转移指令发挥作用。我想执行以下操作:创建一个指令,输出一个列表,其中每个项的内容由转置内容定义。例如:

<op-list items="myItems">
  <span class="item">{{item.title}}</span>
</op-list>

{{item.title}
因此,我将在op list的模板中使用ng repeat,并且必须能够在转置的内容中访问ng repeat创建的范围

这就是我到目前为止所做的:

var myApp=angular.module('myApp',[]);
控制器('MyCtrl',['$scope',函数($scope){
$scope.myModel={
名字:'超级英雄',
项目:[{
标题:“项目1”
}, {
标题:“项目2”
}]
};
}]);
myApp.directive('opList',function(){
返回{
模板:“”+
'项目({items.length}}):'+
'' +
'',
限制:'E',
替换:正确,
是的,
范围:{
项目:'='
}
};
});

你好,{{myModel.name}!
标题:{{item.title}}{{$scope}}}{{{scope}}}}{items}
检查这是否有效:

myApp.directive('opList', ['$scope', function ($scope) {
    return {
        template: '<div>' +
            '<div>items ({{model.items.length}}):</div>' +
            '<ng-transclude ng-repeat="item in model.items"></ng-transclude>' +
            '</div>',
        restrict: 'E',
        replace: true,
        transclude: true,
        scope: {
            items: '='
        }
    };
}]);
myApp.directive('opList',['$scope',function($scope){
返回{
模板:“”+
'项目({model.items.length}}):'+
'' +
'',
限制:'E',
替换:正确,
是的,
范围:{
项目:'='
}
};
}]);
如果没有,则尝试在控制台中检查$scope,看看您是否能够访问您的模型。

检查此操作是否有效:

myApp.directive('opList', ['$scope', function ($scope) {
    return {
        template: '<div>' +
            '<div>items ({{model.items.length}}):</div>' +
            '<ng-transclude ng-repeat="item in model.items"></ng-transclude>' +
            '</div>',
        restrict: 'E',
        replace: true,
        transclude: true,
        scope: {
            items: '='
        }
    };
}]);
myApp.directive('opList',['$scope',function($scope){
返回{
模板:“”+
'项目({model.items.length}}):'+
'' +
'',
限制:'E',
替换:正确,
是的,
范围:{
项目:'='
}
};
}]);

如果没有,则尝试在控制台中检查$scope,看看您是否能够访问您的模型。

是否只是将
$scope
添加到指令中?这样做了,不起作用,请参见编辑的问题。您是否能够在控制台中检查$scope对象?你看到什么了吗?修正了我的注射机制。我只是想确定$scope是否可用。如果是,那么我们可以继续在作用域中查找模型的问题。现在出现了一个错误,请尝试运行我问题中的代码段以查看它。我认为范围还不确定。我们必须使用链接功能才能访问它。严重的错误。。。更新代码段。我看到这个对象是可访问的。现在需要弄清楚它什么时候不使用ng repeat…只是将
$scope
添加到指令中?这样做了,不起作用,请参见编辑的问题。您是否能够在控制台中检查$scope对象?你看到什么了吗?修正了我的注射机制。我只是想确定$scope是否可用。如果是,那么我们可以继续在作用域中查找模型的问题。现在出现了一个错误,请尝试运行我问题中的代码段以查看它。我认为范围还不确定。我们必须使用链接功能才能访问它。严重的错误。。。更新代码段。我看到这个对象是可访问的。现在需要弄清楚它什么时候不能用ng repeat。。。