a不显示href

lstz6jyr  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(399)

我需要点击图标和一些api,我需要下载一个文件。因此,我在我的html中:

<td>
                    <a title="download" ng-show="file.name"
                        class="no-decoration active-download"
                        ng-attr-href="{{ download(file.id) }}" target="_blank" ><i
                            alt="Download" class="fa fa-download fa-2x"></i></a>
                </td>

在我的javascrip中,我在init中

$scope.download= download;

function download(id) {
        console.log("LINK");
        console.log(id)
            console.log(urlDownloadAllegatoDettRend)
        var link = urlDownloadAllegatoDettRend + '?id=' + id;
        return link;
    }

问题不包含下载文件的链接。我尝试了另一种解决方法 ng-href :

<td>
                    <a title="download" ng-show="file.name"
                        class="no-decoration active-download"
                        ng-href="{{ download(file.id) }}" target="_blank" ><i
                            alt="Download" class="fa fa-download fa-2x"></i></a>
                </td>

但是好像不行,有人能帮我吗?

wpcxdonn

wpcxdonn1#

首先,让我们确保 download(id) 功能正常工作。
让我们添加一个表达式,它将显示函数是否返回值(即 href “不出现”几乎是在告诉我们,无论如何它不是,但只是为了确定):

<a title="download" ng-show="file.name"
   class="no-decoration active-download"
   target="_blank" 
   ng-href="{{!!download(file.id) ? download(file.id) : '/'}}">
  <i alt="Download" class="fa fa-download fa-2x"></i>
</a>

这个三元表达式将设置 href 每当 download 函数不返回任何内容。
现在我们已经确定它不起作用了,让我们看看 download 功能:

function download (id) {

    console.log("LINK");
    console.log(id);
    console.log(urlDownloadAllegatoDettRend);

    var link = urlDownloadAllegatoDettRend + '?id=' + id;

    return link;

}

我的第一个怀疑是 urlDownloadAllegatoDettRend 超出范围,即 download 函数无法访问它。
您可以通过简单地将其硬编码为字符串而不是引用变量来测试这是否是问题:

function download (id) {

  var link = "..../dwnload_file?id=" + id;

  console.log("LINK:", id);

  return link;

}

如果这开始起作用,你知道 download 由于变量 urlDownloadAllegatoDettRend 它试图读取的值超出了范围,因为没有该名称的全局变量,所以它是未定义的。
使变量可供用户访问 download 功能和问题应该得到解决。
如果它仍然不能正常工作,问题就出在别处。接下来要考虑的是确保 file.id 实际上是要通过 download 充当 id 它所期望的参数。

相关问题