当前位置: 首页 > 面试题库 >

从Angular 4的html中删除主机组件标签

巫马泓
2023-03-14
问题内容

我有一个要在其中显示表行的表,它是一个组件。我也想将数据传递给该组件:

<table>
    <th>
        <td>col 1</td>
        <td>col 2</td>
        <td>col 3</td>
    </th>
    <tr>
        <my-component [data1]="data1" [data2]="data2"></my-component>
    </tr>
    <tr *ngFor="let item of list">
        {{item}}
    </tr>
</table>

在中my-component,HTML包含一些<td></td>data1和渲染的数据data2

但是渲染后,由于<my-component></my-component>我的CSS损坏,导致所有my- componentHTML(整个表格行)都显示在第一列中。

以上结果:

<table>
    <th>
        <td>col 1</td>
        <td>col 2</td>
        <td>col 3</td>
    </th>
    <tr>
        <my-component>
            <td>data1.prop1</td>
            <td>data1.prop2</td>
        </my-component>
    </tr>
    <tr *ngFor="let item of list">
        {{item}}
    </tr>
</table>

我尝试了以下方法:

@Component({
    selector: '[my-component]',
    templateUrl: 'my-component.html'
})

<tr my-component [data1]="data1" [data2]="data2"></tr>

但这会导致错误Can't bind to 'data1' since it isn't a known property of 'tr'

我也不能使用,@Directive因为我想呈现HTML。

如何呈现<my-component></my-component>不带<my-component></my-component>标签的模板?

其他答案是角度的早期版本。我正在使用Angular 4.3.4。

任何帮助,将不胜感激..!


问题答案:

您还需要在下面的选择器中加入tr,

@Component({
 selector: 'tr[my-component]',
 template: `
   <td>{{data1.prop1}}</td>
   <td>{{data1.prop2}}</td>
   <td>{{data2.prop1}}</td>
 `
})
export class MyComponent {
  @Input() data1;
  @Input() data2;
}

希望这可以帮助!!



 类似资料:
  • 问题内容: 我需要使用sed命令使用bash脚本从html中删除所有标签。我尝试了这个 和这 但我仍然想念什么,有什么建议吗? 问题答案: 您可以使用许多HTML到文本转换器之一,可以使用Perl regex,或者必须使用 如果没有错误的余地,请改用HTML解析器。例如,当元素分布在两行上时 此正则表达式将不起作用。 这正则表达式由三个部分组成,, 寻找开放 后面跟着零个或多个字符(不是结尾) 是

  • 问题内容: 是否有从Java字符串中删除HTML的好方法?一个简单的正则表达式 会起作用,但是不会正确转换,并且两个尖括号之间的非HTML也会被删除(即,正则表达式中的将会消失)。 问题答案: 使用HTML解析器代替正则表达式。对于Jsoup来说,这简直太简单了。 Jsoup还支持对可定制的白名单,如果你希望只允许例如这是非常有用的去除HTML标签,和。

  • 问题内容: 是否有从Java字符串中删除HTML的好方法?一个简单的正则表达式 会起作用,但是;不会正确转换,并且两个尖括号之间的非HTML也会被删除(即.,正则表达式中的将会消失)。 问题答案: 如果你是为Android编写的,则可以这样做…

  • 问题内容: 我正在使用HTML Purifier(http://htmlpurifier.org/) 我只想删除标签。我不想删除内联格式或任何其他内容。 我该如何实现? 还有一件事,它还有其他方法可以从HTML删除脚本标签 问题答案: 因为这个问题是用正则表达式标记的,所以在这种情况下,我将用穷人的解决方案来回答: 但是,正则表达式不是用于解析HTML / XML的,即使您编写了一个 完美的 表达

  • 问题内容: 我对正则表达式不太满意,但是对于PHP,我想从TinyMCE返回的字符串中的HTML标记中删除属性。 所以换成香草。 我将如何通过类似功能来实现这一目标? 问题答案: 务实的正则表达式将在所有合理的情况下解决此问题。不是第一个捕获组的匹配部分应删除,如下所示: 匹配一个后跟一个或多个“ not ”的字符,直到我们到达该部分为止。该更令其一起工作。将此匹配替换为,这是捕获的组。如果标记不

  • 问题内容: 我有这个HTML代码: 但它应该变成(对于所有可能的html标签): 问题答案: 改编自我对类似问题的回答 RegExp细分: 添加一些引号,并使用替换文本,它应该删除标记名之后的所有文本,直到标记结尾或just 为止。 请注意, 这不一定适用于 所有 输入,因为Anti-HTML + RegExp会告诉您。有一些后备功能,最明显的是会失败,还有其他一些坏的问题…我建议将Zend_Fi