编程语言
首页 > 编程语言> > javascript – 在Aurelia中用模板本身替换自定义元素(而不是将其包含在自定义元素中)?

javascript – 在Aurelia中用模板本身替换自定义元素(而不是将其包含在自定义元素中)?

作者:互联网

假设我有一个自定义元素< foo-bar>< / foo-bar>
我不想将标记呈现到标记中,而是要替换它们,以便“foo-bar”元素不再是DOM的一部分.我相信Angular通过transclude属性来做到这一点.

在Aurelia有办法做到这一点吗?

解决方法:

您需要在组件上使用无容器装饰器.

从文档的Custom Elements Section

@containerless() – Causes the element’s view to be rendered without the custom element container wrapping it. This cannot be used in conjunction with @sync or @useShadowDOM. It also cannot be uses with surrogate behaviors.

所以你的组件应该是这样的:

import {customElement, bindable, containerless} from 'aurelia-framework';

@customElement('say-hello')
@containerless()
export class SayHello {
  @bindable to;

  speak(){
    alert(`Hello ${this.to}!`);
  }
}

标签:javascript,aurelia
来源: https://codeday.me/bug/20190516/1116373.html