我在使对象传递给我的指令时遇到问题。我相信我做得正确,但是尝试失败之后,我必须寻求帮助。我在这里错过了什么,使我无法将数组传递给指令?
HTML:
<div class="body">
{{orderList.length}} //shows up as 18
</div>
<queue-summary orders="orderList"></queue-summary>
Javascript:
directive('queueSummary', function () {
return {
scope: {
orders: '='
},
replace: true,
restrict: 'E',
templateUrl: '/partials/admin/bits/queue-summary.htm',
link: function (scope, element, attrs) {
console.log(scope, element, attrs); //$attrs.orders show it as the String "orderList" instead of the array
}
}
}).
attrs
只会显示一个属性的字符串值。为了访问传递的对象,请使用您创建的隔离绑定:
console.log(scope.orders);
值得注意的是,您可以使用$ eval访问没有隔离范围的属性的绑定值:
scope.$eval(attrs.orders)