3

我在获取要传递给我的指令的对象时遇到问题。我相信我做的事情是正确的,但是在一次又一次的尝试失败后,我必须寻求帮助。我在这里错过了什么阻止我将数组传递给我的指令?

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
        }
    }
}).
4

2 回答 2

2

值得注意的是,您可以使用 $eval 访问没有隔离范围的属性的绑定值:

scope.$eval(attrs.orders)
于 2013-06-22T01:03:07.937 回答
1

attrs只会向您显示属性的字符串值。为了访问传递的对象,请使用您创建的隔离绑定:

console.log(scope.orders);
于 2013-06-22T00:48:53.687 回答