我需要点击图标和一些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>
但是好像不行,有人能帮我吗?
1条答案
按热度按时间wpcxdonn1#
首先,让我们确保
download(id)
功能正常工作。让我们添加一个表达式,它将显示函数是否返回值(即
href
“不出现”几乎是在告诉我们,无论如何它不是,但只是为了确定):这个三元表达式将设置
href
每当download
函数不返回任何内容。现在我们已经确定它不起作用了,让我们看看
download
功能:我的第一个怀疑是
urlDownloadAllegatoDettRend
超出范围,即download
函数无法访问它。您可以通过简单地将其硬编码为字符串而不是引用变量来测试这是否是问题:
如果这开始起作用,你知道
download
由于变量urlDownloadAllegatoDettRend
它试图读取的值超出了范围,因为没有该名称的全局变量,所以它是未定义的。使变量可供用户访问
download
功能和问题应该得到解决。如果它仍然不能正常工作,问题就出在别处。接下来要考虑的是确保
file.id
实际上是要通过download
充当id
它所期望的参数。