Aurelia 自定义元素:访问父方法

2024-03-16

我正在使用 Aurelia 的自定义元素重复一组条目。这是示例要点:https://gist.run/?id=38aee85444712​​2f021bc05e1e0de25ae https://gist.run/?id=38aee854447122f021bc05e1e0de25ae

现在,我需要访问deleteEntry(entry)单击自定义元素中定义的按钮时的方法。我尝试使用$parent.deleteEntry(entry)但它不起作用。

Saw this https://stackoverflow.com/questions/32777303/custom-elements-binding-context-what-is-it-exactly-how-to-access-parent-vm问题,但它已经存在一年多了,我想知道现在是否有更干净的方法来实现这一目标。


为什么不使用call绑定来完成这个?

这是一个例子:https://gist.run?id=3cc553ea3bd7ed1862d87d8dbe4f5f84 https://gist.run?id=3cc553ea3bd7ed1862d87d8dbe4f5f84

app.html

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

        <h2 class='text-center'>Journal Entries</h2>

        <div>
            <entry repeat.for='entry of entries' entry.bind='entry' delete-function.call="deleteEntry(entry)"></entry>
        </div>

</template>

app.js

export class App {

    entries = [{
          'date': 'Jan 1',
          'note': 'Hello World'
        }, {
          'date': 'Jan 2',
          'note': 'Good Morning'
        }];


    deleteEntry(entry) {
        console.log("Deleting entry");
        console.log(entry);

        const index = this.entries.indexOf(entry);

        this.entries.splice(index, 1);
    }
}

条目.html

<template>
  <div>${entry.date} <button click.trigger='delete()'>X</button></div>

  <div>${entry.note}</div>

</template>

entry.js

import {bindable} from 'aurelia-framework';

export class EntryCustomElement {
    @bindable entry;
    @bindable deleteFunction;

    delete() {
      this.deleteFunction();
    }

}

显然,在实际的实现中,您需要确保绑定的内容deleteFunction在尝试调用它之前实际上是一个函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Aurelia 自定义元素:访问父方法 的相关文章

  • 使用 setAttribute 方法() 的 Aurelia 自定义属性

    当我在 javascript 中创建和附加元素并设置自定义属性时 Aurelia 似乎并不知道 除非我做错了什么 例如 const e document createElement div e setAttribute custom att
  • 自定义 Aurelia 以使用 .cshtml

    我发现一篇非常有用的文章 展示了如何将 Razor 部分 cshtml 与 aurelia 一起使用 但是 我无法运行代码 并从 RobEisenberg 评论中得知 ConventionalViewStrategy convertModu
  • 如何将更改从骨架子存储库拉入生产超级存储库

    我正在使用奥里莉亚骨架其中包含用于不同目的的各种项目设置 但这更多的是一个一般性问题 即如何使用 git 做一些事情 如下所述 我希望能够将 GitHub 框架存储库中发布的更新合并到我实际正在处理的项目中 你会怎么做 目前 我刚刚在 sc
  • Aurelia js文件上传到服务器

    您好 我是 aurelia js 新手 我需要将文件上传到服务器 我使用 autrelia js materializecss 和 httpClient fetch 进行 api 调用 我不知道如何将文件发送到服务器 view
  • 在 Aurelia 中,槽可以用于重复绑定吗?

    我想创建一个循环遍历数组并将其应用于数组中的每个项目的自定义元素 例如 自定义元素的视图模板将包含类似以下内容的内容 div div div div
  • Aurelia,如何进行可选绑定

    Does Aurelia支持可选绑定吗 我在任何地方都找不到这个信息 我遇到的问题是我有一个title可能会也可能不会填充在对象数组中的属性 我用一个repeat for and title bind但如果此属性不是对象数组的一部分 我根本
  • 如何在 Apache 服务器中部署 Web 应用程序 Aurelia?

    为了进行尝试 我使用了最新的 aurelia sculpture navigation 1 0 0 beta 1 0 1 为了在 Apache 服务器中部署 Aurelia Web 应用程序 我使用了 gulp export 命令 并将 e
  • DevExtreme 和 Aurelia 集成

    DevExtreme 支持角度指令 如图所示 我如何才能通过 Aurelia 实现同样的目标 显示集成的示例 https www youtube com watch v iIZj6hOFg0o https www youtube com w
  • 是否可以在非 Spa 应用程序中使用 Aurelia?

    最近 我一直在尝试不同的框架和库 寻找真正适合我需求的东西 你看 我的工作主要涉及创建 asp net mvc 应用程序 对于大多数应用程序来说 使用 Razor 和一点 jQuery 就足够了 但在某些情况下 并且只有几页 每个应用程序很
  • Aurelia 的财产变更订阅

    我的视图模型上有一个属性 我想根据其值监听并触发事件 如下所示 class viewModel constructor this value 0 let val 2 subscribe this value callbackForValue
  • Aurelia JS - 迭代子元素(kendo UI)?

    考虑这里给出的基本示例 https aurelia ui toolkits github io demo kendo samples slider basic use https aurelia ui toolkits github io
  • Aurelia 有虚拟元素吗?

    Knockout JS有虚拟元素的概念 这些是 无头 元素 您可以将其绑定到没有 HTML 元素作为容器的元素 这允许您在不发出外部 HTML 的容器中绑定数组 例如 在 Knockout JS 中 您可以执行以下操作 li li 一系列l
  • Aurelia Typescript 项目仅适用于 Chrome

    有谁知道为什么列出 Aurelia Typescript 项目在这个 git 存储库中 https github com cmichaelgraham aurelia typescript只能在 Chrome 浏览器上使用吗 是否存在目前仅
  • 如何在 Aurelia 中“继承”可绑定属性?

    我正在使用 TypeScript 开发 Aurelia 应用程序 在此应用程序中 我定义了一组自定义元素 每个元素共享一组可绑定属性 这些属性被转换为 css 设置 如以下简化示例所示 import computedFrom bindabl
  • 如何将(调试与发布)参数传递到 Asp.Net MVC 中的 Aurelia 应用程序

    您将如何将 调试 与 发布 参数传递给 Aurelia 应用程序 就我而言 我在 MVC 应用程序中安装了 Aurelia 我想根据我的 web config 值为 Aurelia 配置一些参数 URL 等 有没有办法我可以这样做 Wher
  • Aurelia 使可绑定的行为在对象属性上可观察

    在 Aurelia 绑定中 如果在组件中我们对属性使用可观察装饰 并且如果该属性是一个对象 那么我们将订阅该对象的所有属性 例如 import observable from aurelia framework export class C
  • 如果 Aurelia 理解“导入”,为什么还要使用依赖注入?

    我不明白 如果我可以使用import在 Aurelia 中 为什么我必须将构造函数与 autoinject 还有这一切 我确信我错过了一些东西 但是 据我所知 我可以随时使用导入的模块 import something from whate
  • toastr.js 如何在 Aurelia 和 Typescript 中工作?

    我似乎无法让这些一起工作 我正在使用 Aurelia CLI 并以类似的方式成功地对其他库 如 select2 spin moment 和 numeric 进行了操作 但我似乎无法让 toastr 工作 这是我到目前为止所拥有的 首先我跑了
  • Aurelia 验证:对同一属性应用一些关于更改的规则和一些关于模糊的规则

    我有一个值的输入字段 该值应该正好有 5 位数字 我想在立即输入数字以外的字符 onChange 时显示错误 但仅在模糊时显示字符串长度不足的错误 我的规则目前看起来是这样的 ValidationRules ensure myInput m
  • Aurelia - 仅 HTML 自定义元素的内联定义

    我的 Aurelia 视图模型中有一个递归对象 如下所示 Class BottomlessPit Name string MorePits BottomlessPit null 因此 我想在 Aurelia 视图中使用递归模板 它只会在一个

随机推荐