问题 用其内容替换组件 - 角度2 [重复]


这个问题在这里已有答案:


4133
2017-12-24 14:21


起源



答案:


根据 文件 角1.x

替换指令的元素本身(如果替换为真 -   过时了)。

所以我认为这个功能将无法提供角度2


1
2017-12-24 14:30





使用属性选择器可以实现相同的排序

camelCasing对于属性是必需的 alpha.52

@Component({
     selector: '[myCmp]', //attribute selector
     template: 'my-cmp'
})
class MyComponent {
}

并使用它来称呼它:

<div myCmp></div>

12
2017-12-24 15:06



这使得我的标记很难看,因为组件的标签和类不再是组件的关注.. :-( - NullVoxPopuli
@NullVoxPopuli你是对的...我想写一个“自定义”组件标签名称而不是html标记......:P - João Silva


答案:


根据 文件 角1.x

替换指令的元素本身(如果替换为真 -   过时了)。

所以我认为这个功能将无法提供角度2


1
2017-12-24 14:30





使用属性选择器可以实现相同的排序

camelCasing对于属性是必需的 alpha.52

@Component({
     selector: '[myCmp]', //attribute selector
     template: 'my-cmp'
})
class MyComponent {
}

并使用它来称呼它:

<div myCmp></div>

12
2017-12-24 15:06



这使得我的标记很难看,因为组件的标签和类不再是组件的关注.. :-( - NullVoxPopuli
@NullVoxPopuli你是对的...我想写一个“自定义”组件标签名称而不是html标记......:P - João Silva


您可以像以下一样做一些思考:

@Component({selector: 'div.my-cmp', template: 'my-cmp'})
class MyComponent {
}

并在您的HTML中:

 <div class="my-cmp" />

3
2017-12-24 14:36



这解决了我的问题。正是我需要的。谢谢! - Methodician


我记得几年前为Angularjs问了一个类似的问题。当时的共识似乎是现在,因为现在可能是你 大概 不想那样做。

它破坏了语义:a <video/> 或者a <input/> 不会分解成其内容。你的Angular组件也不应该。

你可以通过更深入地思考你的标记/ CSS来实现你想要的东西吗?也许如果你充实你的用例我们可能会给你一个替代方案?


0
2017-12-24 14:31