插值将应用于所有 ngfor 元素的范围文本内容

2024-04-30

我正在检索移动的元素顶部和左侧值并将其显示在元素内, 问题是当前移动元素的顶部、左侧值修改了所有元素的范围文本顶部、左侧。

注意:它修改了我不想要的所有元素的跨度文本(顶部、左侧值)。每个元素的顶部、左侧位置都是正确的,不会受到影响。

html

<div (mousemove)="documentMouseMove($event)" #parentparent>
<div id="toget" class="dropzone">

<div class="box"
     *ngFor="let existingZone of existingDroppedItemZoneIn">
       {{ existingZone }}
  <span>{{left}}</span>
  <span>{{top}}</span>
</div>

<div class="box"
     *ngFor="let box of dropzone1">
    {{ box.dis }}
  <span>{{left}}</span>
  <span>{{top}}</span>
</div>

</div>
</div>

ts Code

export class abcComponent {

urlFloorZoneIn: any;
roomsFloorZoneIn: any;
existingDroppedItemZoneIn: any[] = [];
@Input() urlFloorZone;
@Input() roomsFloorZone;
@Input() currentBoxFloorZone;
@Input() existingDroppedItem: any[] = [];

mouse = {
    x: null,
    y: null,
    down: false
  };
will_draw = false;
left;
top;
dropzone1 = [];
currentBox?: string = this.currentBoxFloorZone;

constructor(private dataService: DataService, private elRef: ElementRef) {
}


@ViewChild('parentparent') parentparent; 

@HostListener('mousedown', ['$event'])
onMousedown(event) {
    this.mouse.down = true;
}

@HostListener('mouseup', ['$event'])
onMouseup(event) {
    this.mouse.down = false;
}

documentMouseMove(e: MouseEvent) {
    // move logic
    if(!this.mouse.down) { return; }

    const container_rect = 
    this.parentparent.nativeElement.getBoundingClientRect();
    // relative to container, in px
    this.mouse.x = e.clientX - container_rect.left;
    this.mouse.y = e.clientY - container_rect.top;
    if(!this.will_draw) {
      requestAnimationFrame(this.draw.bind(this));
      this.will_draw = true;
    }

}

draw() {
    this.will_draw = false;
    const { width, height} = 
    this.parentparent.nativeElement.getBoundingClientRect();
    const perc_x = this.mouse.x / width * 100;
    const perc_y = this.mouse.y / height * 100;
    // -5 to center (elem has its width set to 10%)
    console.log('left', (perc_x - 5) + '%');
    this.left = perc_x - 7;
    // -5 to center (elem has its height set to 10%)
    console.log('top', (perc_y - 5) + '%');
    this.top = perc_y - 7;
}

ngOnInit() {}

ngOnChanges(changes: SimpleChanges) {
    if (changes.urlFloorZone && changes.urlFloorZone.currentValue) {
        this.urlFloorZoneIn = changes.urlFloorZone.currentValue;
    }
    if (changes.roomsFloorZone && changes.roomsFloorZone.currentValue) {
        this.roomsFloorZoneIn = changes.roomsFloorZone.currentValue
    }
    if(changes.existingDroppedItem && 
       changes.existingDroppedItem.currentValue){
        this.existingDroppedItemZoneIn = 
        changes.existingDroppedItem.currentValue;
    }        
}
}

块 1 应在其跨度文本中显示其各自的顶部、左侧,块 2 应在其跨度文本中显示其各自的顶部、左侧,依此类推


    ______________      ______________
    |            |      |            |
    |   1        |      |     2      |
    |  32.77 4.6 |      |   32.77 4.6|
    --------------      --------------

                  ______________
                  |            |
                  |      3     | 
                  |   32.77 4.6|
                  |____________|

问题在于您要绑定到适用于整个页面范围的属性。

<span>{{left}}</span>

相反,我会做existingDroppedItemZoneIn具有以下属性的类型:

existingDroppedItemZoneIn[]: DropBox[] = new {[
   {left:0, top:0},
   {left:20, top: 0}
]};

然后您需要绑定到每个框的属性:

<div class="box" *ngFor="let box of dropzone1">
   {{ box.dis }}
   <span>{{box.left}}</span>
   <span>{{box.top}}</span>
</div>

这是一个快速的伪代码示例。所以它可能并不完美。

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

插值将应用于所有 ngfor 元素的范围文本内容 的相关文章

  • 我将如何将 localStorage 与 Object 一起使用

    请有人能说清楚为什么我需要这样做JSON stringify localStorage setItem data 然后使用JSON parse localStorage getItem data 在我可以取回我的数据对象之前 简而言之 因为
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • 颜色逻辑算法

    我们正在构建一个体育应用程序 并希望将团队颜色融入到应用程序的各个部分 现在 每个团队都可以使用几种不同的颜色来表示 我想做的是执行检查以验证两个团队颜色是否在彼此一定的范围内 这样我就不会显示两个相似的颜色 因此 如果团队 1 的主要团队
  • 如何检查变量是 jQuery 对象还是普通 DOM 元素?

    如何检查变量是 jQuery 对象还是普通 DOM 元素 一个 jquery 对象有一个jquery财产 jquery 对象是一个instanceof jQuery instanceof on MDN https developer moz
  • Protractor e2e 测试表头和 , 标签

    我正在使用下表 我想测试每个标签 th td 标签 该标签中的文本以及该文本的计数 HTML 片段 table class table table striped tbody tr th b a Patient Id a b th th b
  • 我如何能够以两行显示标题,并且每行的字体大小不同?

    我正在使用 Google Chart API 创建时间线图 并希望将图的标题修改为两行 问题 我如何能够显示具有不同字体大小的两线图表标题 电流输出 理想输出 相关研究 我唯一能找到的是有人试图用饼图来做到这一点 但我尝试了但无法使其发挥作
  • 暂停除了已激活的玩家之外的所有其他玩家。

    我有这个插件 它可以将不同的样式应用于 html5
  • 将鼠标悬停时的鼠标光标更改为锚状样式

    如果我将鼠标悬停在div鼠标光标将更改为 HTML 锚点中的光标 我怎样才能做到这一点 假设你的div has an id myDiv 将以下内容添加到您的 CSS 中 这cursor pointer指定光标应与用于锚点 超链接 的手形图标
  • JavaScript 中的埃拉托斯特尼筛法对大量数据无限运行

    我一直在尝试写埃拉托斯特尼筛法 http en wikipedia org wiki Sieve of EratosthenesJavaScript 中的算法 基本上我只是按照以下步骤操作 创建从 2 到 n 1 的连续整数列表 令第一个素
  • 为什么我的淘汰单选按钮在另一个具有点击绑定的元素内时会失败?

    我有一个单选按钮列表 我想要点击 li 他们还检查单选按钮 这一切都有效 直到我放了一个name单选元素上的属性 然后我的代码停止工作 我的代码如下所示 ul li li ul li
  • 以编程方式填写reactjs表单

    我正在编写一个用户脚本 但无法填写由reactjs制作的表单 我的代码 document querySelector id username value email protected cdn cgi l email protection
  • 使用 JavaScript 禁用第三方 cookie

    我正在努力根据所有在欧盟运营的公司的数据保护规则实施新的 Cookie 政策合规性 根据该规则 用户在使用任何网站时必须能够拒绝 接受除必需的 Cookie 之外的所有内容 在我客户的网站中 我可以看到正在存储以下第三方 cookie ga
  • Angular 2 和 TypeScript 的承诺

    我正在尝试使用routerCanDeactivate我的应用程序中的组件的函数 简单的使用方法如下 routerCanDeactivate return confirm Are you sure you want to leave this
  • 可以在初始 DOM 解析期间/之前修改 DOM 吗?

    是否可以在初始 DOM 解析期间或之前修改 DOM 或者我是否必须等到 DOM 被解析和构建之后才能与其交互 更具体地说 是否有可能阻止 DOM 中的脚本元素使用用户脚本 内容脚本或 Chrome 或 Firefox 中的类似脚本运行 在解
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • Draggable JS Bootstrap 模式 - 性能问题

    对于工作中的项目 我们在 JavaScript 中使用 Bootstrap Modal 窗口 我们想让一些窗口可移动 但我们遇到了 JQuery 的性能问题 myModal draggable handle modal header Exa
  • 设置 cookie 时中断 JavaScript 执行

    当设置 cookie 时 是否可以始终中断浏览器开发人员工具中的 javascript 执行 无需显式设置 JS 断点 document cookie 在 html head 块的开头添加此代码片段效果很好
  • 尝试将数据存储在点击器网站中

    我正在尝试存储一个名为的变量score无论何时刷新 您都会一次又一次地使用它 我不明白的是它的代码是什么 我尝试了一些方法 但似乎都不起作用 这是我的答题器网站 但是当我尝试使用 JavaScript 来存储它时 它不起作用window o
  • Chrome 扩展程序在代码中使用 client_secret

    我正在开发具有自己的 oAuth 授权的 Google Chrome 扩展 当然 我必须使用 client id 和 client secret 作为请求令牌 有什么办法可以向用户隐藏这些数据吗 由于此请求只是 javascript 源代码
  • 使用 CSS 或 Javascript 填充动画

    我只是想知道是否可以使用 CSS 或 javascript 创建填充动画 基本上我想创建一个填充动画 如下图所示 http i40 tinypic com eit6ia png http i40 tinypic com eit6ia png

随机推荐

  • Sonatype Nexus 3 - 记录 URL 代理请求

    我正在尝试调试代理存储库的问题 为我知道被代理的存储库中存在的工件提供 404 在我的情况下这是一个 NPM 包 我想启用日志记录 以便可以看到 Nexus 在响应该代理请求时尝试访问的 URL 但似乎找不到任何提供此输出的默认记录器 我需
  • 在 JavaScript 中检查数组是否包含 null 以外的内容?

    我有一个数组 很可能总是这样 null null null null null 有时这个数组可能会变成这样 helloworld null null null null 我知道我可以使用 for 循环 但是有没有办法使用indexOf检查数
  • AddExtension 属性在 C# 2.0 中如何工作?

    我想打开一个保存文件对话框 让用户输入文件名 如果他们忘记了 csv 扩展名 请添加它 SaveFileDialog AddExtension 属性似乎可以工作 但事实并非如此 我什至将 DefaultExt 属性设置为 csv 但仍然没有
  • 使用正则表达式验证姓名

    我正在尝试编写一个正则表达式name and surname 它们由一个或多个只能由字母组成的单词组成 我不关心首字母大写字母 I 想匹配名字和姓氏 Names Antony de Home April antony de Home Apr
  • 为每一表行创建一个 json

    我想从表中的数据创建 json 表格看起来像这样 code D5ABX0 MKT536 WAEX44 我正在使用 FOR JSON PATH 这很好 SELECT code FROM feature FOR JSON PATH 但是这个查询
  • 安全灵活的跨域会话

    我有一个问题希望你能帮忙解决 假设我在一家名为 Blammo 的假设公司工作 我们有一个名为 Log 的假设产品 我正在尝试建立一个系统 人们可以登录 logfromblammo com 并订购我们的一些产品 然后当他们准备好购买时 前往
  • NSCollectionView 单元格顺序随视图更改而更改

    我有一个包含选项卡栏设计的 macOS 应用程序 即 Tweetbot 有 4 个选项卡链接到 4 个不同的视图控制器 初始视图控制器 视图一 包含一个NSCollectionView水平显示 3 个单元格 这一切都工作正常 但是当我切换到
  • SwiftUI - 将数据传递到不同的视图

    我正在开发一个有 4 个不同视图的应用程序 主视图 内容视图 an AddView an EditView 以及一个分离的DataView在一个类中 我通过一个传递所有数据可观察对象到其他意见 在主视图中我有一个项目列表 在里面AddVie
  • 针对 REST API 的授权会引发错误:401(未找到请求的凭据。)

    我想针对 HP Alm Rest API 进行授权 我认为这 应该 有效 但事实并非如此 function performSignIn let headers new Headers headers append Content Type
  • 将 css 宽度字符串转换为常规数字

    在尝试计算隐藏元素的宽度时 我发现 jquery width 对于该元素的宽度返回 0 我发现使用 jquery css width 将通过使用声明的样式宽度返回正确的宽度 即使该值与初始样式表不同 问题是 css width 方法返回一个
  • HikariPool-1 - 无法验证连接 org.postgresql.jdbc.PgConnection@2a84e649(此连接已关闭。)

    我正在使用 Postgresql 和 spring boot 2 0 4 当尝试依次执行查询时 会引发以下错误 我执行了以下查询 并且计数不断增加 SELECT COUNT FROM pg stat activity WHERE state
  • Aruco 标记与 openCv,获取 3d 角坐标?

    我正在使用 opencv 3 2 检测打印的 Aruco 标记 aruco estimatePoseSingleMarkers corners markerLength camMatrix distCoeffs rvecs tvecs 这将
  • Windows XP 中“附带”了什么 .NET 框架

    你能告诉我Windows XP系统上默认安装的 NET框架是什么吗 因为我想编写一个不需要安装任何其他东西的 C 应用程序 如果没有 有什么办法不强迫用户下载 net框架 例如3 5 而是安装它 Windows XP 没有附带任何版本的 N
  • 我必须遵循哪些规则才能编写没有分号的有效 Javascript?

    有很多关于 我应该使用分号吗 的问题 和 分号注入是如何工作的 但我想为那些决定尽可能避免使用分号的程序员找到无 FUD 的建议 如果有人有 比如izs http izs me 或者 Bootstrap 开发者 选择在什么条件下编写不带分号
  • 无法从 Windows 服务连接到 Oracle(错误:ORA-12154: TNS: 无法解析服务名称 (12154))

    最新更新 2011 年 11 月 2 日上午 9 点 我尝试从服务运行 tnsping 它有效 但是 当我尝试连接时 仍然收到错误 12154 我现在完全困惑了 我不明白 tnsping 如何正常工作 但连接无法解析服务名称 由于某种原因
  • 需要从 Chrome 扩展程序的页面内直接链接到 Chrome 内部页面

    我刚刚花了 7 个小时试图找到一种直接链接到 Chrome 内部页面的方法 目前我已经放弃了 我只是指示人们 右键单击并在新选项卡中打开 我已经尝试了一切 从 html 到 css 再到 javascript 但没有任何效果 当我单击该链接
  • 检查用户的 Flash 播放器是否具有音频功能。 (功能.hasAudio)

    是否可以检查用户是否有声卡 我找到了 Capability hasAudio 但不知道这是否是我应该查看的值 trace Capabilities hasAudio 指定系统是否具有音频功能 此属性始终true 文档对此并不清楚 但我认为
  • Android BLE API:未收到 GATT 通知

    用于测试的设备 Nexus 4 Android 4 3 连接工作正常 但onCharacteristicChanged我的回调方法从未被调用 但是我正在使用注册通知setCharacteristicNotification char tru
  • 无法设置“sbt start”的内存设置

    我正在尝试奔跑sbt start在用 Scala 编写的 Play Framework 应用程序中 在一台机器上ec2 t2 microAWS 上的实例 但我不能因为内存不足 Java 运行时环境无法继续运行 该机器有 1GB 内存 但实际
  • 插值将应用于所有 ngfor 元素的范围文本内容

    我正在检索移动的元素顶部和左侧值并将其显示在元素内 问题是当前移动元素的顶部 左侧值修改了所有元素的范围文本顶部 左侧 注意 它修改了我不想要的所有元素的跨度文本 顶部 左侧值 每个元素的顶部 左侧位置都是正确的 不会受到影响 html d