Angular 如何将所有属性从角度组件传递到模板
我有一个自定义的Angular 4组件,其中我使用Angular 如何将所有属性从角度组件传递到模板,angular,angular-components,Angular,Angular Components,我有一个自定义的Angular 4组件,其中我使用作为模板。组件是选择器,它是i-image,因此它在UI中呈现如下: 我的目的是获取用户在i-image上提供的所有属性,并将它们应用于img标签。例如,此处提供了alt,但它不应用于img标记。我不想对所有可能的属性进行一对一的映射,而是信任用户想要提供的任何东西,并在渲染之前简单地将这些属性添加到img标记中 这可能吗?如果是的话,你能告诉我正确的方向吗。我可以理解代码,只需要知道如何在角度上做到这一点 是的,使用内容投影将带有选择器的标记放
作为模板。组件是选择器,它是i-image
,因此它在UI中呈现如下:
我的目的是获取用户在i-image
上提供的所有属性,并将它们应用于img
标签。例如,此处提供了alt
,但它不应用于img
标记。我不想对所有可能的属性进行一对一的映射,而是信任用户想要提供的任何东西,并在渲染之前简单地将这些属性添加到img
标记中
这可能吗?如果是的话,你能告诉我正确的方向吗。我可以理解代码,只需要知道如何在角度上做到这一点 是的,使用内容投影将带有选择器的标记放入,然后将整个html代码传递到该选择器中如果不打破最佳实践,我不确定这是否可行。我怀疑这是否真的是可取的?允许用户插入浏览器将呈现的任意HTML本质上是不安全的。这就是XSS攻击的创建方式。也许你可以通过Angular的内容投影来实现你想要的。这取决于
i-image
应该做什么。
<i-image _ngcontent-c0="" alt="this is alt" ng-reflect-path="/default-image.jpg" ng-reflect-lqip="[object Object]">
<img src="example.com/a.jpg">
</i-image>
<i-image path="{{path}}" [lqip]="{}" alt="this is alt"></i-image>