将参数传递给几个AngularJS指令实例?

将参数传递给几个AngularJS指令实例?,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,关于angularJS的新手问题,但在已经搜索过的教程中没有看到类似的情况 如何使用相同的指令定义将不同的参数传递给各个div实例?在这里,我希望看到红-绿-蓝,但在HTML中看到的是蓝。我看到控制器在链接之前被调用 var-app=angular.module('myApp',[]); 应用指令(“元素”,功能(){ 返回{ 限制:“A”, 模板:“{type}}”, 链接:函数(范围、元素、属性){ scope.type=attrs.element; console.log(“设置:“+

关于angularJS的新手问题,但在已经搜索过的教程中没有看到类似的情况

如何使用相同的指令定义将不同的参数传递给各个div实例?在这里,我希望看到
红-绿-蓝
,但在HTML中看到的是
。我看到控制器在链接之前被调用


var-app=angular.module('myApp',[]);
应用指令(“元素”,功能(){
返回{
限制:“A”,
模板:“{type}}”,
链接:函数(范围、元素、属性){
scope.type=attrs.element;
console.log(“设置:“+scope.type”);
},
控制器:功能($scope){
log(“检查:+$scope.type”);
}
};
})
1.
2.
3.

指令的所有实例都使用相同的作用域,每次调用
链接
函数时,它都会覆盖以前设置的
作用域。键入
。如果您创建一个独立的作用域,那么它将起作用,因为该指令的每个实例都有自己的作用域:

    app.directive("element", function () {
    return {
      restrict: "A",
      scope: {},
      template: '<h1>{{type}}</h1>',
      link: function (scope, element, attrs) {
        scope.type = attrs.element;
        console.log("Setting:  "+scope.type);
      },
      controller: function ($scope) {
        console.log("Checking: "+$scope.type);
      }
    };
  })
app.directive(“元素”,函数(){
返回{
限制:“A”,
作用域:{},
模板:“{type}}”,
链接:函数(范围、元素、属性){
scope.type=attrs.element;
console.log(“设置:“+scope.type”);
},
控制器:功能($scope){
log(“检查:+$scope.type”);
}
};
})

在您共享的示例中,指令共享父范围。由于所有指令共享相同的父范围,因此只有一个变量
type
可用

你的选择是

scope:true   //Creates new scope for each directive instance


为了完整起见,请花时间理解范围原型继承

非常感谢。刚刚在egghead.io上读到了这个,它的开头是“隔离作用域是一种你可以读几天文档的东西,然后有人给你看,然后你会说‘哦,那很简单’--scope:true//为每个指令实例创建新的作用域scope:{type:'@element'}会更好这个答案对我来说不起作用,我认为它混淆了我的指令(并且没有加载任何内容),但我再次使用了NG1.2
scope:true   //Creates new scope for each directive instance
scope:{} //as provided by akonsu. Creates an isolated scope.