首页 > 解决方案 > 如何将变量作为参数传递给 ng-init 中的 Angular 方法?

问题描述

在以下代码中,我使用的是 Angular 1.6.4:

<div ng-form="propertyimagesForm" id="propertyimagesForm">
    <div class="row" ng-controller="ImageController">
    <div>{{pir.OrderId}}</div>
        <div ng-init="getOrderDocs(pir.OrderId)"></div>
        <div class="col-xs-6 col-sm-4 col-lg-3"
             style="margin-bottom:50px;"
             ng-repeat="img in orderDocs">
            <h4>{{img.Description}}</h4>
            <h4>{{img.title}}</h4>
            <div style="height: 300px; border: 1px solid grey; margin-bottom: 5px;">
                <div ng-click="openImg('/Home/GetDocumentByOrderDocumentType?orderid=' + pir.OrderId + '&docType=' + img.docType, img.docType, img.title)">
                    <img class="img-responsive"
                         style="width: 100%; max-height:295px; height:auto;"
                         id="{{img.docType}}thumbnail"
                         ng-src="/Home/GetDocumentByOrderDocumentType?orderid={{pir.OrderId}}&docType={{img.docType}}" />
                </div>
            </div>
    ...

{{pir.OrderId}} 行正确显示了订单 ID(例如 4622)。但是在以下行中将 pir.OrderId 作为参数传递是行不通的:

<div ng-init="getOrderDocs(pir.OrderId)"></div>

getOrderDocs() 方法似乎接收到 null 的参数。如果我用这一行替换该行,它可以正常工作:

<div ng-init="getOrderDocs(4622)"></div>

为什么我不能像这样通过 pir.OrderId?

此外,还有比将 getOrderDocs() 放入 ng-init 更好的方法吗?它检索文档列表并将它们存储在变量 orderDocs 中。

谢谢。

标签: angularjsng-init

解决方案


推荐阅读