我无法使用 url 变量加载外部图像。问题是 Angular 自动完成 url 以添加localhost:3000/到 url 的开头。
这是我的组件:
import { Component, Input, OnInit } from '@angular/core';
import { Cite } from './cite';
import { Engin } from './engin';
import { Station } from './station';
import { EnginService } from './engin.service';
@Component({
moduleId: module.id,
selector: 'my-engin-detail',
template: `
{{imgUrl}}
<img [src]= "imgUrl" width="42" height="42" />
`,
styles: [`
`]
})
export class EnginDetailComponent implements OnInit {
constructor(private enginService: EnginService) {
}
@Input()
engin: Engin;
imgUrl: string;
ngOnInit(): void {
this.enginService.getImgUrl(this.engin.id_engin)
.then(url => this.imgUrl = url);
}
}
Run Code Online (Sandbox Code Playgroud)
输出是
192.168.0.102/resultsdetails/image/assets/E207_1.png //即=> {{imgUrl}}
错误 404:http://localhost:3000/192.168.0.102/resultsdetails/image/assets/E207_1.png 404(未找到)
这里 Angular2 编译器使用“http://localhost:3000/”自动完成 url,但我不希望这样。
然而这工作正常:
<img src="192.168.0.102/resultsdetails/image/assets/E207_1.png" width="42" height="42/>
Run Code Online (Sandbox Code Playgroud)
所以,我不知道如何在 [src] 中注入变量而不使用自动补全/localhost:3000
如果您有“相对”网址,可以这样做:
<img [src]= "'//' + imgUrl" width="42" height="42" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4478 次 |
| 最近记录: |