Aurelia - 如何在视图/视图插槽中获取动态创建的自定义元素的实例
创始人
2024-09-22 07:00:45
0

在Aurelia中,可以使用@children装饰器来获取视图/视图插槽中动态创建的自定义元素的实例。下面是一个示例:

首先,创建一个自定义元素DynamicElement

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

@inject(Element)
@customElement('dynamic-element')
export class DynamicElement {
  @bindable name;

  constructor(element) {
    this.element = element;
  }

  attached() {
    console.log(`Dynamic element ${this.name} attached`);
  }
}

然后,在父组件中使用视图插槽和@children装饰器获取动态创建的自定义元素的实例:

import {bindable, children} from 'aurelia-framework';

export class ParentComponent {
  @bindable elements = [];
  @children('dynamic-element') dynamicElements;

  addElement() {
    this.elements.push({name: `Element ${this.elements.length + 1}`});
  }
}

在父组件的视图中,使用repeat.for指令来动态创建自定义元素,并在视图插槽中引用它们:


现在,当点击“Add Element”按钮时,会动态地创建自定义元素,并将其添加到elements数组中。同时,@children装饰器会将动态创建的自定义元素实例存储在dynamicElements属性中。

可以在父组件中的attached()生命周期钩子中访问dynamicElements属性,以获取动态创建的自定义元素的实例。例如:

import {bindable, children} from 'aurelia-framework';

export class ParentComponent {
  @bindable elements = [];
  @children('dynamic-element') dynamicElements;

  attached() {
    console.log(this.dynamicElements); // 输出动态创建的自定义元素的实例数组
  }

  // ...
}

这样,你就可以在父组件中获取动态创建的自定义元素的实例了。

相关内容

热门资讯

玩家必备教程!丽水都莱辅助器软... 玩家必备教程!丽水都莱辅助器软件,欢聚水鱼只能辅助教程,透牌教程(详细教程)-哔哩哔哩;亲,丽水都莱...
今日焦点!盛世辅助器,wepo... 盛世辅助器开挂教程视频分享装挂详细步骤在当今的网络游戏中,盛世辅助器作为一种经典的娱乐方式,吸引了无...
透视肯定!微乐自建房怎么提高胜... 透视肯定!微乐自建房怎么提高胜率,禅游游戏辅助脚本,AI教程(有挂规律)-哔哩哔哩 >>您好:软件加...
实操分享!欢乐联盟卡五星辅助,... 实操分享!欢乐联盟卡五星辅助,九酷互娱辅助,系统教程(详细教程)-哔哩哔哩>>您好:软件加薇1367...
必看攻略!欢乐茶馆修改器,九九... 欢乐茶馆修改器是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微信...
攻略讲解!多乐辅助下载,aap... 大家好,今天小编来为大家解答多乐辅助下载这个问题咨询软件客服可以免费测试直接加微信(13670430...
一起来讨论!福建天庭啊开心辅助... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
实测发现!小程序游戏修改器辅助... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
终于知道!创思维激k软件助手,... 终于知道!创思维激k软件助手,衢州都莱辅助软件,解说技巧(有挂细节)-哔哩哔哩【无需打开直接搜索加薇...
交流学习经验!广东雀神麻雀辅助... 交流学习经验!广东雀神麻雀辅助神器,爱来大菠萝怎么玩,新2026教程(有挂透明挂)-哔哩哔哩【无需打...