Aurelia组件绑定

Zub*_*zob 3 javascript aurelia aurelia-binding aurelia-framework

我是这个框架的新手,我想知道是否有一个组件绑定允许您指定要在常规HTML元素上使用的组件而不是自定义HTML元素.

假设我们有一个Message组件.是否有可能将其用作:

<div component="message"></div>
Run Code Online (Sandbox Code Playgroud)

代替

<message></message>
Run Code Online (Sandbox Code Playgroud)

Knockout.js支持它们的组件:"组件"绑定.

Ash*_*ant 6

是的!您可以使用as-element自定义属性执行此操作.

这是一个例子:https://gist.run?id = 5fc98df81dff7eec2868ea918f6342fb

app.html

<template>
   <require from="./message"></require>

   <message say="Say"></message>

   <div as-element="message" say.bind="what"></div>
</template>
Run Code Online (Sandbox Code Playgroud)

app.js

export class App {
  what = 'What!'
}
Run Code Online (Sandbox Code Playgroud)

message.html

<template>
  <h1>${say}</h1>
</template>
Run Code Online (Sandbox Code Playgroud)

message.js

import {bindable} from 'aurelia-framework';

export class MessageCustomElement {
  @bindable say = '';
}
Run Code Online (Sandbox Code Playgroud)

呈现

在此输入图像描述