如何实现 Angular 的“盒子里的香蕉”与自定义元素的双向绑定?

2024-04-03

我正在尝试构建一个将由 Angular 应用程序使用的自定义元素。自定义元素将采用一个 prop 并可能对其进行操作。

我的理解是我可以使用“盒子里的香蕉”来处理这个绑定,又名<custom-element [(foo)]="bar">被转换为<custom-element [foo]="bar" (fooChange)="bar = newBar">,或类似的。

我的角度模板:

<an-el [(clicked)]="isClicked"></an-el>
<p>Did you click a button? {{ isClicked }}</p>

我的自定义元素调度一个事件:

this.dispatchEvent(new CustomEvent('clickedChange', { bubbles: true, detail: true }));

但它似乎将整个 CustomEvent 绑定到isClicked:

Did you click a button? [object CustomEvent]

我究竟做错了什么?

这是我的应用程序(在 Chrome 中运行):https://stackblitz.com/edit/angular-nlguf4 https://stackblitz.com/edit/angular-nlguf4


我会替换isClicked声明:

private _isClicked = false;

public get isClicked() {
    return this._isClicked;
  }
public set isClicked(val: CustomEvent | boolean) {
    this._isClicked = typeof val === "boolean" ? val : val["detail"];
  }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何实现 Angular 的“盒子里的香蕉”与自定义元素的双向绑定? 的相关文章

  • 如何在 Angular 2 应用程序中使 DateAdapter 单例?

    我正在开发一个带有延迟加载模块的 Angular 7 应用程序 我也使用有角度的材料组件 我想在日期选择器组件中本地化并支持多个区域设置 当应用程序语言发生变化时 我想在整个应用程序中全局更改它 可以通过 DateAdapter setLo
  • Angular - 为每个请求设置标头

    我需要在用户登录后为每个后续请求设置一些授权标头 要为特定请求设置标头 import Headers from angular2 http var headers new Headers headers append headerName
  • *ngFor 的哪种方法更好:ng-container 还是管道切片?

    我想显示完整列表或仅显示其 3 个元素 有条件地 more true false 我可以用管道方法像这样 div class table div class row item id item name div div or ng 容器像这样
  • 使用 facebook 共享动态更新元标签 - Angular 6

    我需要动态更新元标记 如 og title og description 和 og image 并在 facebook 上共享相同的内容 我已经尝试了所有方法 但没有任何效果 首先 我尝试使用 javascript 设置元标记 如下所示 v
  • Angular2 viewContainerRef.createComponent 工作正常

    我使用 viewContainerRef createComponent 将动态组件加载到根组件 但实际上它附加了错误的位置 my code app compoment ts export class AppComponent privat
  • 无法绑定,因为它不是选择器组件的已知属性

    我想将变量从一个组件传递到另一个组件 并且我正在使用 input 这是我的父组件 Component selector aze templateUrl aze component html styleUrls aze component s
  • Angular 6 中的 Http 错误处理

    我正在尝试使用 Angular 6 中的以下类来处理 http 错误 我从服务器收到 401 未经授权状态 但我没有看到控制台错误消息 HttpErrorsHandler ts 文件 import ErrorHandler Injectab
  • FakeAsync/tick (Async/whenStable) 与 detectorChanges()

    您能帮我区分这两件事吗 根据我的理解 如果你只使用 observable 你可以使用 detectorChanges 因此 您可以直接更改组件属性或监视服务调用并返回可观察的值 然后调用 detectorChanges 更改将在 html
  • Angular 2 获取当前路线

    所以我需要以某种方式检查我是否在主页上执行某些操作 而在其他页面上则不执行此操作 该组件也在所有页面上导入 如果我在主页上 如何检测该组件 Thanks 尝试这个 import Router from angular router expo
  • 如何在 Angular 项目中使用 Bootstrap?

    我开始我的第一次Angular应用程序和我的基本设置已完成 我怎样才能添加引导程序我的申请 如果您可以提供一个示例 那么这将是一个很大的帮助 如果您使用Angular CLI要生成新项目 还有另一种方法可以使 bootstrap 可访问角度
  • Angular Libraries Monorepo:是否可以为每个库使用不同的版本?

    只是一个简单的问题 我似乎找不到答案 我正在尝试构建一个应该能够使用 angular cli v8 的 monorepo 但仍然能够编译和构建为 v2 v3 v4 等制作的库 主要是组件和服务 版本之间发生了很多变化 所以让我们举个例子 V
  • 如何判断何时创建新组件?

    我一直在寻找背后的逻辑当有人在 AngularJS Angular 上的 Web 应用程序中创建新组件时但我认为这更通用 可能适用于所有基于组件的前端框架 我知道有像这样的一些原则应该是抽象的和可重用的但例如我在角度文档中看到 每个单独的路
  • 如何将窗口注入到服务中?

    我正在用 TypeScript 编写一个 Angular 2 服务 它将利用localstorage 我想注入对浏览器的引用window对象到我的服务中 因为我不想引用任何全局变量 例如 Angular 1 x window 我怎么做 这目
  • 在业力测试中按类名获取两个div(Angular 4.0)

    我有这样的看法 div div class header title Example title 1 div div div div class header title Example title 2 div div 在我的业力测试中 我
  • Ionic 2 http.get() 问题

    我试着做一个http get 用这两个方法调用 First getResults return this http get http localhost api php toPromise then data gt data json 显示
  • 模块解析失败:意外的标记 (4:0)

    我正在尝试将 FULLCALENDAR 添加到我的 Angular v14 项目中 但在所有设置之后我突然面临这个错误 知道如何处理这个错误吗 包 json fullcalendar angular 5 11 0 fullcalendar
  • 收到错误 ../node_modules/rxjs/Rx"' 没有导出成员 'of'

    我正在从教程中学习新的角度 https angular io tutorial toh pt4 inject message service https angular io tutorial toh pt4 inject message
  • 如何让 vsCode 了解自动补全的深度依赖导入?

    我创建了多个角度库 让我可以使用一堆组件更快地创建网站 例如 sidenav 卡片 我创建了一个 超级库 来导入所有这些库 这样我就可以使用npm i myWebsiteBundle立即下载所有依赖项 我已将每个类似的插件列入白名单ng p
  • 如何读取firebase推送通知内容并在ionic2中触发方法?

    是否可以访问push notificationionic 2 中的内容并在通知到达时执行一堆代码或event fire 我建议使用科尔多瓦插件 firebase https github com arnesson cordova plugi
  • 当选项卡索引更改时,mat-tab-group 滚动到页面顶部

    我有奇怪的行为mat tab group在角度材料中 当我更改选项卡索引时 它会将页面滚动到顶部 知道为什么吗 这是角度材料库中的一个已知错误 请参阅here https github com angular material2 issue

随机推荐

  • apache poi:如何创建带有条形图和折线图的图表?

    是否可以在 apache poi 中创建一个包含条形图和折线图的图表 你可以找个例子here https blogs office com en us 2012 06 21 combining chart types adding a se
  • 填充网络表单的最佳日历弹出窗口是什么?

    我希望能够在选择日期后进行 HTTP 调用来更新某些选择框 我希望能够控制更新文本框 以便我知道何时发生 真正的 更改 如果选择了相同的日期 理想情况下 我会调用一个函数来弹出日历 并能够在填充文本框之前评估日期 这样我就可以在进行服务器调
  • 将多个项目放在相对布局中居中而不将它们放入容器中?

    我有一个包含一对并排按钮的相对布局 我希望它们在布局中居中 我可以将按钮放在 LinearLayout 中并将其居中放在relativelayout 中 但我想保持 xml 尽可能干净 这是我尝试过的 这只是将 应用 按钮放在中间 将 撤消
  • 添加具有现有列名称的新列

    我正在处理一个数据框 如下所示 FID geometry Code w1 w2 0 12776 POLYGON 1 350000000000025 53 61540813717482 12776 0 1 1 13892 POLYGON 6
  • 在基本层面上,eval-parse 在 R 中做什么?

    我已经看到在循环或 apply 函数中使用 eval parse 的参考 但我仍然不清楚如何使用它 为了帮助像我这样的初学者理解它 有人可以解释为什么下面的第一部分 没有 eval parse 有效 而第二部分 有它 不起作用 这是 eva
  • Poetry能否根据对应C库的版本自动选择包版本

    我将使用 GDAL 作为具体示例 为了安装gdalPython 包 您必须先安装 GDAL C 库 您还必须安装 Python 版本gdal以匹配您安装的 C 库的版本 gdal config version 3 2 0 lt this i
  • 有没有办法让 WPF 应用程序尊重 Windows 10 中深色/浅色主题的系统选择?

    Windows 10最近添加了深色模式 有什么方法可以让我的 WPF 应用程序尊重此设置吗 最好是一个可以自动翻转它的开关 但如果没有 我想我可以在某处读取系统设置并切换到我的代码或其他东西中的备用主题 没有直接的 API 事件来检测 wp
  • # 符号的 HTML 字符实体是什么?

    符号的 HTML 字符实体是什么 我四处寻找 英镑 不断返回货币 哈希 和 数字 但我尝试的似乎没有变成正确的字符 您可以在以下位置搜索单个字符 文件格式信息 http www fileformat info info unicode ch
  • T-SQL:DROP 表级联约束等效吗?

    在 Oracle 中 我可以发出 DROP TABLE 级联约束 它不会抱怨 FK 等 T SQL 中有等效的吗 对于那些希望获得更普遍适用的答案的人 这将找到约束 删除它 然后删除列 感谢蒂姆 伦汀并投票如何查找默认约束的名称 https
  • Erlang 进程和消息传递架构

    我手头的任务是读取大文件的行 处理它们 并返回有序结果 我的算法是 从评估工作负载的主进程开始 写在文件的第一行 生成工作进程 每个工作进程将使用 pread 3 读取文件的一部分 处理这部分 并将结果发送给 master master接收
  • ggplot2 热图,图表之间具有固定比例的颜色条

    我需要绘制 3 个不同的图 设置相同的比例范围颜色 我有 3 个具有不同值范围的矩阵 例如 range matrixA 0 60 0 85 range matrixB 0 65 0 95 range matrixA 0 5 1 0 我希望对
  • 运行 Google Web 应用程序脚本后出现空白屏幕

    我正在通过 Google Sheets 开发一个签到应用程序 并希望创建一个搜索功能 该功能将运动名称作为 HTML 表单中的输入 然后从 HTML 表格中的工作表返回有关运动的信息 但是 当我尝试测试网络应用程序时 没有任何反应 我怎样才
  • 从 Android 应用程序堆栈中手动删除活动

    我一直在开发 Android Native App 我想做的是 Activities A gt B gt C Then A gt B gt C gt C 从 C Activity 中 如果它再次指向 C 那么我想手动从堆栈中删除 C B 在
  • 在 O(1) 空间中从流中选择随机项

    使用恒定空间以均匀概率从流中随机选择一个项目 该流提供以下操作 class Stream def init self data self data list data def read self if not self data retur
  • 如何在 opencv 版本 4.4.0 上正确使用 cv2.findContours()?

    我正在尝试在 opencv 版本 4 4 0 中使用 cv2 findContours 我使用Python版本3 8 5 但它抛出一个错误 我无法弄清楚 我不确定代码有什么问题 这是一些背景 根据 OpenCV 的语法cv2 findCon
  • 查找 iPhone 中两个日期之间的总天数

    我想查找两个日期之间的总天数 例如今天是 01 01 2011 DD MM YYYY 第二个日期是 25 03 2011 我如何找到总天数 NSDate currentdate NSDate date NSLog curretdate is
  • 基于向量键合并数据框

    我是一个绝对的初学者 希望有人能够帮助我解决合并问题 我今晚大部分时间都在解决这个问题 并且迄今为止无法成功地将解决方案应用于此特定示例的类似问题 我制作了一个虚拟数据框和向量来帮助说明我的问题 dumdata lt data frame
  • 如何将日期范围格式化为“MMM,d”?

    我正在尝试显示当前日期的周数以及周数的日期范围 现在日期范围格式是 DateTime 我想将其更改为 Jan 13 关于如何解决这个问题有什么建议吗 override func viewDidLoad super viewDidLoad l
  • Excel:从日期字符串中提取数字

    我有几个格式错误的日期列 我正在尝试将这些列转换为 月 年 和 start day 列 这是一个示例 January 13th 2018 January 13th 14th 2018 January 5th 7th 2018 January
  • 如何实现 Angular 的“盒子里的香蕉”与自定义元素的双向绑定?

    我正在尝试构建一个将由 Angular 应用程序使用的自定义元素 自定义元素将采用一个 prop 并可能对其进行操作 我的理解是我可以使用 盒子里的香蕉 来处理这个绑定 又名