在Angular中使用什么更好 - src或[src]

5 javascript typescript angular

只想问一下建议与Angular,标准html src或Angular 一起使用的是什么[src]?为什么?

编辑:我的html组件中有以下代码:

<img class="logo" src="../app/media/appLogo.png">
Run Code Online (Sandbox Code Playgroud)

没事?如果没有,我应该如何改变它与[src]?一起工作?

Edit2:有没有其他更好的方法,而不是普通的HTML src?或者这实际上是最好的解决方案?

Gün*_*uer 8

[...]="..."用于对象绑定...="{{...}}"是用于与字符串插值绑定.如果要绑定字符串,则无关紧要.如果要绑定对象或数组值,则需要使用`[...] ="...".除此之外,这完全取决于你.

<img class="logo" src="../app/media/appLogo.png">
Run Code Online (Sandbox Code Playgroud)

根本不与Angular2有关,那就是纯HTML(不[]和不{{}}).如果添加[]周围src,然后将角治疗../app/media/appLogo.png作为一种表达,它显然不是.

使用DomSanitizer时是[src]="..."必需的,因为该值不再是字符串,但是对象和使用{{}}将以无效方式对其进行字符串化.


Rob*_*bba 5

使用常规src设置属性,其中设置[src]设置属性。考虑到图像(我假设您在谈论图像但您没有说),该src属性用于设置它们都将起作用的相应属性。

有一个重要的原因使用[src]。浏览器倾向于src在解析 html 时开始下载您在属性中放置的任何内容。所以让我们说你这样做:

<img src="{{myImgSrc}}"/>
Run Code Online (Sandbox Code Playgroud)

浏览器通常会立即开始下载{{myImgSrc}},这将导致控制台出现 404。因此使用以下稍微好一点:

<img [src]="myImgSrc"/>
Run Code Online (Sandbox Code Playgroud)

  • “src 设置属性,其中设置 [src]”不完全正确。`src="{{myImgSrc}}"` 将属性设置为与 `[src]="myImgSrc"` 相同。`src="/assets/someimg.png"` 设置属性而不是属性,因为根本不涉及绑定。`[attr.src]="myImgSrc"` 或 `attr.src="{{myImgSrc}}"` 绑定到属性而不是属性。 (3认同)