You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularJS:向HTML弹窗传值并展示数据失败,求问题排查

问题排查与修复方案

1. ng-repeat绑定对象错误

你的弹窗表格里用了 ng-repeat="row in page",但page变量并没有在弹窗的$scope中定义。因为你通过adsm-table绑定的是popupTable,这类自定义表格组件通常会将数据挂载到表格实例的属性上(比如popupTable.page或popupTable.data)。

修改HTML中的ng-repeat:

<tr ng-repeat="row in popupTable.page ">

若不确定属性名称,请查阅TableFactory的官方文档确认正确的数据字段。

2. 未注入$rootScope导致潜在错误

弹窗控制器里使用了$rootScope.isPopup = true;,但依赖注入数组里没有包含$rootScope,这会触发AngularJS注入错误,可能间接影响数据渲染。

修正控制器的依赖注入:

var EventWorkflow = ["$scope", "$rootScope", "$modalInstance", "TableFactory", "ConsultFactory", function ($scope, $rootScope, $modalInstance, TableFactory, ConsultFactory) {
    $rootScope.isPopup = true;
    // ... 其他代码
}];

3. 确认TableFactory的service参数有效性

检查ConsultFactory.openSituationWorkflowRest(id)是否返回格式正确的Promise对象,可以在回调中打印数据验证:

ConsultFactory.openSituationWorkflowRest(id).then(function(data) {
    console.log('表格返回数据:', data); // 确认数据是否正常返回、结构是否符合表格要求
});

如果TableFactory不支持直接传入Promise,需手动处理数据后初始化表格:

ConsultFactory.openSituationWorkflowRest(id).then(function(data) {
    $scope.popupTable = new TableFactory({
        data: data, // 用接口返回的数据初始化表格
        remotePagination: false
    });
});

4. 移除冗余API调用

ConsultFactory.openWorkflowRest(id).then(function(data) { }); 这段代码未处理返回结果,属于无效请求,建议删除以避免资源浪费。


内容的提问来源于stack exchange,提问作者Luis Marcelo Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 10:10:32