1

我有一个返回一些 json 字符串的 iframe。我必须使用那个 json 来构建一个表。

<iframe id="idHiddenFrame" name="HiddenFrame" src="/PTO/PlattsIncident.nsf/frmBlank?ReadForm" width="0px" height="0px" onload="addAttachment()"></iframe>

下面是使用 Angular js 的 javascript 代码

$window.addAttachment=function(){
        if($.parseJSON(frames["HiddenFrame"].document.getElementsByTagName("body")[0].innerHTML)!=null){
            $scope.attachments.push($.parseJSON(frames["HiddenFrame"].document.getElementsByTagName("body")[0].innerHTML));
            console.log($scope.attachments);
        }
    }

console.log 正在打印正确的值,如下所示

0: Object
attachName: "Root Cause Analysis - Stringer SSF - 02072013.doc"
docID: "290005B6A4CFB9FD85257BBB002433A8"

但是下面使用 ng-repeat 的代码不起作用

<ul class="list-group">
    <li class="list-group-item" ng-repeat="attachment in attachments">{{attachment.attachName}}</li>
</ul>

任何帮助深表感谢。

4

1 回答 1

2

你可以试试下面的代码并使用 $scope.$apply():

$window.addAttachment=function(){
        if($.parseJSON(frames["HiddenFrame"].document.getElementsByTagName("body")[0].innerHTML)!=null){
            $scope.attachments.push($.parseJSON(frames["HiddenFrame"].document.getElementsByTagName("body")[0].innerHTML));
            console.log($scope.attachments);
           $scope.$apply();
        }
    }
于 2013-08-02T06:59:35.780 回答