为每个组件设置ViewEncapsulation.None

时间:2018-11-21 17:32:10

标签: angular typescript

我不喜欢Angular在HTML页面的元素中添加org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener method could not be invoked with the incoming message 的方式,并且由于我并未真正实现该功能,因此我在组件中添加了Caused by: org.springframework.messaging.converter.MessageConversionException: Cannot convert from [[B] to [com.boot.RabbitListener.Model.XmlEntity] for GenericMessage [payload=byte[4], headers={amqp_receivedDeliveryMode=NON_PERSISTENT, amqp_receivedRoutingKey=jsa.queue1, amqp_deliveryTag=1, amqp_consumerQueue=jsa.queue1, amqp_redelivered=false, id=0afca290-7ee2-36f5-4297-afeacbc451da, amqp_consumerTag=amq.ctag-HZO32UVNiMf9hWo_pAr9Bw, contentType=application/xml, timestamp=1542820548981}] 来删除了它。但是由于有很多组件,而我的项目中还会有更多组件,所以我想知道是否有一种方法可以全局设置封装而不是修改每个组件。

这是我所做的一些研究的link和有关_ngcontent-*枚举的angular documentation

2 个答案:

答案 0 :(得分:0)

ViewEncapsulation不仅允许将您的内容与其他组件绑定,还将停止封装您的组件styles,因此,如果从您的设备中删除stylestyleUrls组件装饰器,封装将由编译器设置为none

选中此doc进行进一步的查询

下一步,您可以在使用angular cli创建组件时对其进行限制

ng generate component [name] --view-encapsulation=none

这将创建不带有encapsulation属性的组件-您可以通过here

检查某些命令

希望这会有所帮助-编码愉快:)

答案 1 :(得分:0)

您可以尝试在app.component.ts中设置“ ViewEncapsulation.None”,这将适用于您的整个项目。

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
  encapsulation: ViewEncapsulation.None
})