繁体   English   中英

为什么我的指令中的值没有传递到函数中?

[英]Why aren't the values from my directive being passed into the function?

这是我的指令:

function OrderCloudRepeatOrderDirective() {
    return {
        restrict: 'E',
        templateUrl: 'orderHistory/templates/repeatOrder.tpl.html',
        controller: 'RepeatOrderCtrl',
        controllerAs: 'repeat',
        scope: {
            orderid: '=',
            includeBilling: '@',
            includeShipping: '@'
        }
    }

}

这是我的指令的视图:

<div class="btn btn-success" ng-click="repeat.reorder(orderid, includeBilling, includeShipping)" >Reorder</div>

这里实际上是在 HTML 中:

<ordercloud-repeat-order orderid="order.ID" includeBilling="true" includeShipping="true"></ordercloud-repeat-order>

然后我只是有一个与执行逻辑的 ng-click 指令相关联的函数。 我意识到“@”值作为字符串返回并已适应。 orderID 值很好,但是当我逐步执行我的函数时,我发现其他两个值未定义。 有任何想法吗?

通过命名约定(后续单词的大写),当用作元素的 HTML 属性时,Angular 会在参数名称中添加一个破折号。

  • includeBilling用作include-billing="true"
  • includeShipping用作include-shipping="true"

请注意,您将orderid范围变量定义为完全小写,这就是该变量按原样工作的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM