AngularJS指令传递对象错误

时间:2014-03-13 14:07:20

标签: javascript angularjs angularjs-directive

我为AngularJS做了一个指令,这是在一个td表中,这是代码:

        <td ng-bind="order.Referencia"/>
        <directive order="order"></directive>
        </td>
        <td ng-bind="order.Company"></td>
        <td ng-bind="order.Poblacion"></td>
        <td ng-bind="order.Direccion"></td>
        <td ng-bind="order.Asegurado"></td>
        <td am-time-ago="order.ImportedOn"></td>
    </tr>
    </tbody>
</table>

如果我执行order.file,则在mi指令内部,订单未定义,但如果我这样做:

<tbody>
    <tr ng-repeat="order in orders" ng-click="goToOrderDetails(order)">
        <td>
            {{order.file}}
            <directive order="order"></directive>
        </td>
        <td ng-bind="order.Referencia"/>
        </td>
        <td ng-bind="order.Company"></td>
        <td ng-bind="order.Poblacion"></td>
        <td ng-bind="order.Direccion"></td>
        <td ng-bind="order.Asegurado"></td>
        <td am-time-ago="order.ImportedOn"></td>
    </tr>
    </tbody>

order.field,命令其定义...为什么??

这是指令代码:

return {
                restrict: 'E',
                template: '<div></div>',
                link: function (scope, element) {
                    span.data("alert", {
                        importedOn: order.ImportedOn
                    });
    //do something
                },
                scope: {
                    order: '&'
                }
            };

1 个答案:

答案 0 :(得分:1)

在您的指令中,更改范围绑定说明:

scope: {
    order: '='
}

为了创建(双向)绑定到父作用域中的对象。