gpt4 book ai didi

javascript - 无法从 HTML 访问范围变量

转载 作者:行者123 更新时间:2023-12-02 14:46:30 25 4
gpt4 key购买 nike

我正在尝试检索远程服务器上的文件列表并将其显示在网页上。作用域变量 fileListOnCTP 保存可从网页访问的文件列表。但网页不显示文件列表。然而 ng-inspector 显示变量持有正确的值。有人可以告诉我哪里可能出错吗?

$scope.listOfFilesOnCTP = "";
$scope.fileListOnCTP = "";
$scope.GetListOfFilesonCTP = function(path){
$scope.listOfFilesOnCTP = RdaService.getListOfFilesonCTP(encodeURIComponent(path)).then(function(response){
var newData = response.data;
console.log(newData);
return newData;
});
console.log($scope.listOfFilesOnCTP); // --> Displaying the file list correctly
//path = path.replace(/\//g, '_');
$scope.fileListOnCTP = $scope.listOfFilesOnCTP;
};
	<div class="col-md-3" id="CTP Jobs">
<h3>JOBS</h3>
<table class="table table-striped">
<div ng-model="fileListOnCTP" ng-init="GetListOfFilesonCTP('/home/topas/rda_app/JOBS')">
<span><tr>{{fileListOnCTP}} <!-- Variable not getting resolved although it shows correct value in controller -->
</tr></span>
</div>
</table>
</div>

最佳答案

由于您的RdaService.getListOfFilesonCTP返回一个promise,您需要更新then内部的$scope变量,因为这是你可以获得 promise 的解析值。如果您尝试在其他地方设置 $scope 变量,则无法保证服务会返回值,这就是您之前的代码不起作用的原因。

引用:https://docs.angularjs.org/api/ng/service/$q#the-promise-api

关于javascript - 无法从 HTML 访问范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36559987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com