我正在尝试编写一个显示对象属性的简单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;
}
};
});
如何将整车发送到指令模板?
答案 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
}
};
});