角度指令数据绑定

时间:2015-03-16 13:06:02

标签: angularjs angular-directive

我正在尝试编写一个显示对象属性的简单Angular指令,但我不明白绑定是如何工作的。

<div ng-repeat="c in cars">
   <div car carElement={{c}}></div>
<div>  

.directive('car', function() {
  return {
   template: function(elem, attr){
     var car = attr.carElement;
     return car.brand + ' ' + car.model; 
   }
 };
});

我无法绑定孔对象,只是简单的属性。例如,这有效:

<div ng-repeat="c in cars"> 
  <div car brand={{c.brand}} ></div> 
<div> 
.directive('car', function() { 
  return { 
    template: function(elem, attr){ 

    var brand = attr.brand; 
    return ''+brand; 
  } 
  }; 
});

如何将整车发送到指令模板?

1 个答案:

答案 0 :(得分:1)

您必须传递对象,但不能传递给表达式:

<div ng-repeat="c in cars">
   <div car carElement="c"></div>
<div>  

指令:

.directive('car', function() {
  return {
   scope: { car: "=carElement" },
   template: function(elem, attr){
     //you now have 'car' in scope.car
   }
 };
});