use*_*717 72 html angular-cli angular
我对Angular很新,所以我不确定这样做的最佳做法.
我使用angular-cli并ng new some-project生成一个新的应用程序.
在它的"assets"文件夹中创建了一个"images"文件夹,所以现在我的images文件夹是 src/assets/images
在app.component.html(这是我的申请的根),我把
<img class="img-responsive" src="assets/images/myimage.png">
Run Code Online (Sandbox Code Playgroud)
当我ng serve查看我的Web应用程序时,图像不会显示.
在Angular应用程序中加载图像的最佳做法是什么?
编辑:见下面的答案.我的实际图像名称是使用空格,Angular不喜欢.当我删除文件名中的空格时,图像显示正确.
mru*_*ova 30
在我的项目中,我在app.component.html中使用以下语法:
<img src="assets/img/1.jpg" alt="image">
Run Code Online (Sandbox Code Playgroud)
要么
<img src='http://mruanova.com/img/1.jpg' alt='image'>
Run Code Online (Sandbox Code Playgroud)
使用插值绑定属性时,使用[src]作为模板表达式:
<img [src]="imagePath" />
Run Code Online (Sandbox Code Playgroud)
是相同的:
<img src={{imagePath}} />
Run Code Online (Sandbox Code Playgroud)
jmu*_*ire 17
Angular-cli默认包含构建选项中的assets文件夹.当我的图像名称有空格或破折号时,我遇到了这个问题.例如 :
如果您将图像放在assets/img文件夹中,那么这行代码应该在您的模板中工作:
<img alt="My image name" src="./assets/img/myImageName.png">
Run Code Online (Sandbox Code Playgroud)
如果问题仍然存在,只需检查您的Angular-cli配置文件,并确保在构建选项中添加了您的assets文件夹.
小智 12
特定于Angular2到5,我们可以使用属性绑定绑定图像路径,如下所示.图像路径由单引号括起.
示例示例
<img [src]="'assets/img/klogo.png'" alt="image">
小智 8
1 . 将此行添加到组件的顶部。
declare var require: any
Run Code Online (Sandbox Code Playgroud)
2 . 在您的组件类中添加这一行。
imgname= require("../images/imgname.png");
Run Code Online (Sandbox Code Playgroud)
在 html 页面的 img src 标签中添加这个“imgname”。
<img src={{imgname}} alt="">
您可以在 Angular 8+ 中按照以下步骤操作
\n步骤一:在组件中加载如下图片
\nconst logo = require(\'../assets/logo.svg\').default as string;\n\n@Component({\n selector: \'app-show-image\',\n templateUrl: \'./app.component.html\',\n styleUrls: [\'./app.component.scss\']\n})\nexport class ShowImageComponent implements OnInit {\n\n logo = logo;\n constructor() { }\n ngOnInit() { }\n\n}\nRun Code Online (Sandbox Code Playgroud)\n步骤2:在html文件中添加逻辑
\n<img [src]="logo" [alt]="\'logo\'">\nRun Code Online (Sandbox Code Playgroud)\n如果在没有进一步配置的情况下启动,您将看到一个奇怪的错误:
\nERROR in src/app/app.component.ts(4,14): error TS2580: Cannot find name \'require\'. Do you need to install type definitions for node? Try `npm i @types/node` and then add `node` to the types field in your tsconfig.\nRun Code Online (Sandbox Code Playgroud)\n按照建议 \xe2\x80\x93@types/node通过运行 npm 将类型添加到您的项目install @types/node并编辑tsconfig.app.json设置:
"compilerOptions": {\n "types": ["node"],\n ...\n}\nRun Code Online (Sandbox Code Playgroud)\n欲了解更多信息\n资源
\n