D3 与 Angular 集成:“错误: 属性 x 的值无效”

2023-12-01

我正在尝试使用 AngularJS 绑定 SVG 属性。我有以下用于调整形状大小手柄的代码:

// S handle.
var s_handle = d3.select(document.createElementNS("http://www.w3.org/2000/svg", "rect"))
    .attr("id", "s-resize")
    .attr("x", "{{(objects['" + id + "'].w - (scope.dragHandle.width / 2))}}")
    .attr("y", "{{(objects['" + id + "'].h - (scope.dragHandle.width / 2))}}")
    .attr(scope.dragHandle)
    .attr("cursor", "s-resize")
    .call(sresize);              

$compile(s_handle.node())(scope);
element.append(s_handle);

当我运行此代码时,出现以下错误:

Error: Invalid value for <rect> attribute x="{{(objects['9b320170-6365-4f40-801d-a7a5c6b936f9'].w - (scope.dragHandle.width / 2))}}" d3.min.js:1
Error: Invalid value for <rect> attribute y="{{(objects['9b320170-6365-4f40-801d-a7a5c6b936f9'].h - (scope.dragHandle.width / 2))}}" d3.min.js:1

我尝试删除附加步骤来隔离问题 - 看起来问题实际上是在我设置时发生的x and y属性,甚至在 Angular 编译阶段之前。

请注意,我使用此方法与另一个 SVG 对象一起使用transform属性,它本身接受一个字符串。

以前有人遇到过这个问题吗?有什么解决办法吗?谢谢。

编辑:单步执行,看起来 $compile` 实际上根本没有改变元素。这可能是因为该元素无效吗?


看起来这与这个问题有关:https://github.com/angular/angular.js/pull/2061

在该问题中也得到了解决。

SVG 元素使用基于 XML 的架构,并且具有命名空间,因此具有验证规则。某些属性不能采用 Angular 插值指令,因为它们需要一个数值,并且浏览器会在 Angular 有机会捕获它之前对其进行验证(即使该元素已创建但尚未附加到 DOM)。

如果有人遇到这个问题,希望这个答案能有所帮助。

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

D3 与 Angular 集成:“错误: 属性 x 的值无效” 的相关文章

  • Svg getCompulatedTextLength 函数始终返回零

    你好 我尝试集成这个 d3 可缩放树形图 http mbostock github io d3 talk 20111018 treemap html http mbostock github io d3 talk 20111018 tree
  • 鼠标悬停时在折线图上画一条线?

    我正在使用 D3 js 构建折线图 当用户将鼠标悬停在图表上时 我想在图表上绘制一条垂直线 突出显示其与图表线的交点 并显示工具提示 如以下屏幕截图所示 我已经在这条路上走了一部分了 这是我在 JSFiddle 上的代码 http jsfi
  • 如何在 Angular js 中创建动态工厂?

    在我的项目中 我必须在 Angular js 中创建动态工厂 其动态工厂名称如下 function createDynamicFactory modId return myModule factory modId existingServi
  • karma.conf.js 未捕获引用错误:谷歌未定义

    当我尝试运行 karma 测试运行程序时 我从我的一个文件中收到如下错误 说我的库 google 未定义 Chrome 36 0 1985 Mac OS X 10 9 4 ERROR Uncaught ReferenceError goog
  • 将数据从 Django 传递到 D3

    我正在尝试使用 Django 和 D3 js 编写一个非常基本的条形图 我有一个名为 play 的对象 其中包含一个名为 date 的日期时间字段 我想要做的是显示一段时间内按月分组的播放次数 基本上我有两个问题 如何将这些内容按月分组并统
  • 是否可以为 $httpBackend 响应设置通配符?

    假设我在 AngularJS 中有以下测试代码 var someURL var dummyJSON httpBackend whenGET someURL respond dummyJSON 有没有一种方法可以使其成为一组 URL 而不仅仅
  • 使用 angularjs 进行动态 url 路由

    我的代码中有类似的东西 ul p b item name b p 例如 我有 3 件商品 宝马 高尔夫和梅赛德斯 我想要一个包含每个项目名称的 url 例如 bmw 或 mercedes 并且所有 url 使用details html 来显
  • 角度2:语法错误:意外的标记<(...)

    我知道 这个问题已经被问过 但我找不到适合我的特定情况的解决方案 我无法理解错误的真正原因 我有一个运行良好的 angularjs2 应用程序 现在我想导入marked图书馆 我做了什么 npm install marked tsd ins
  • 在 AngularJS 应用程序中使用 select2 插件

    我在 AngularJS 应用程序中使用 select2 插件来显示一些实体 标签 的列表 这是我的模板的部分 select ddlTags ui select2 select2Options multiple ng model link
  • 手风琴内的 ui bootstrap datepicker 不可见

    我正在尝试在手风琴内制作一个带有日期选择器的模块 问题是日期选择器弹出框在手风琴上不可见 这是一个显示问题的笨蛋 http plnkr co edit jBqU0LXQFcUuzQLency2 p preview http plnkr co
  • Angular UI Grid - 将图像导出为 pdf

    我想将图像添加到 pdf 的标题中 我正在尝试添加已转换为 base64 的图像以导出 Pdf 标题 scope gmGrid exporterPdfHeader margin 30 5 30 15 table widths body MC
  • 具有负值的条形图

    我需要创建一个可以有负值的 d3 条形图 理想情况下 零轴位置应根据数据的范围来计算 但我会选择一个假设对称正负范围的解决方案 即它始终位于图表的中间 这是我想要实现的目标的示例 好吧 假设您有一个数字数组作为数据集 其中包括一些正值和负值
  • AngularJS:如何通过 websocket 发送文件?

    我是 websocket 的新手 我被分配了一个现有的工作聊天模块 目前该模块仅向其他用户发送消息 我被要求集成用户可以互相发送 附件 的功能 供参考 我发现了这个链接 https stackoverflow com questions 1
  • AngularJS:从控制器内读取路由参数

    如何在 AngularJS 控制器中读取 URL 中的参数 假设我有一个像这样的网址http localhost var value我希望将该值存储在控制器内的变量中 var value URL 我尝试过使用 routeParams val
  • Angularjs UI 模态表单

    我曾经使用引导模式有一个登录对话框 scope loginDialog backdrop true keyboard true windowClass modal loginDialog backdropClick true templat
  • 在 SVG 中旋转形状时保持旋转线性渐变不旋转

    SVG 或 WPF XAML 我对两者都持开放态度 并且需要 我不认为它们在实现上有任何不同 下面的示例是 SVG 中的 我试图找到一种在线性渐变上使用旋转的方法 在本例中为 270 但是当它填充的形状旋转时 保持线性渐变不变 就好像它填充
  • 如何测试 AngularJS 指令

    我正在开发一个将使用 AngularJS 的 Rails 3 2 应用程序 我可以让 Angular 做我需要的事情 但我很难弄清楚如何测试我正在做的事情 我正在使用guard jasmine 使用 PhantomJS 运行 Jasmine
  • Angular 1 到 Angular 5(导入嵌套组件)

    Before 角度1 5 用户界面路由器 Now 角5 0 如何在像 Angular 1 5 这样的组件父组件中导入子组件 我从 Angular 5 开始制作教程 Heroes 但没有解释这个过渡 所有组件都导入到 app modole t
  • 为什么使用 Angular 的 $log 而不是 console.log?

    我知道这是使用角度的最佳实践 log代替console log 但是 我找不到解释原因的良好文档 开发人员为什么要使用 log log首先检查浏览器是否支持console log 例如 IE 8 就没有 这可以防止在 IE 8 上显示错误
  • AngularJS 应用程序:如何将 .js 文件包含到 index.html 中

    我是 angularJS 的新手 我设法使用 AngularJS 构建了一个phonegap应用程序 该应用程序正常并且运行良好 问题是 现在我对 angularJS 的工作原理有了更多的了解 至少我认为我已经了解了 我担心我的应用程序文件

随机推荐

  • 未能在 build.sbt 中包含 com.typesafe(对于 Scala 和 Heroku 上的 Spray)

    尝试引导我的 Scala 样板SprayHeroku 上的项目 我正在尝试按照以下方式向我的本地项目添加必要的调整Heroku 文档 喷雾样板项目源自github上的优秀模板它简单有效 并且包含优雅的代码和测试 在最后提到的模板项目运行良好
  • NVIDIA Parallel Nsight 与 Visual Profiler

    我正在Windows平台上使用CUDA 在 Windows 平台上 我们可以访问 Parallel Nsight 和 Visual Profiler 两者都非常好 但它们在分析和跟踪方面具有几乎相似的功能 有人能告诉我它们有什么不同吗 哪一
  • 强制标签文本从左到右,同时包含一些从右到左的文本

    我有一根绳子 代表货币符号 我从中得到NSLocale localeIdentifier ar AE objectForKey NSLocaleCurrencySymbol as String In my UILabel 当我将文本设置为t
  • SQL Server 模板 - 如何转义小于字符?

    我喜欢使用 SQL Server 2005 模板来运行常用查询 您可以使用以下语法在模板中包含参数
  • 是否可以使用 ColdFusion 重写 url?

    我需要生成用户友好的 url 我在 IIS 上 我的动态 URL 看起来像 www testsite com blog article cfm articleid 4432 客户希望网址看起来像 www testsite com blog
  • IE CSS Bug - 当页面上的动态 javascript 内容更改时如何保持位置:绝对

    我有一个页面 其中有一个列和一个内容 div 有点像这样 div div blahblahblah div div div div 通过一些样式 我有一个图像在列和内容之间分开 但需要保持相同的垂直位置 以便它对齐 样式类似于这样 colu
  • 背景图像隐藏了所有 GUI 设计组件

    我正在开发 GUI 应用程序 我使用 swing 组件来设计 GUI 我想为我的表单设置背景图像 但是当我设置图像时 它会重叠用于设计 GUI 的所有组件 首先我的没有背景图片的表格如下所示 我的代码是 登录 java public cla
  • 在 Magento 中将数组转换为集合

    我有一个数组对象 它是来自数据库的 magento fetchall 的输出 我希望将其转换为 Collections 类的对象 以便我可以实现分页并使用此集合与其他表连接 你能帮我一下吗 已经卡了好久了 要将数组转换为集合对象 1 gt
  • “System.IO.IOException:操作成功完成”异常

    我遇到了这个异常 System IO IOException 操作成功完成 在下面的代码块中 此代码在 Windows 服务中运行 foreach var error in currentPowerShell Streams Error i
  • 访问类的多处理代理的属性

    我有一个类 我想以只读方式与池中的子进程共享 因此我准备了一个类的代理 但它不起作用 以下是我的问题的简化示例 from multiprocessing managers import BaseManager class TestClass
  • 在这种情况下需要对 Node.js 中的函数进行阻塞调用吗?

    我开始学习node js 我在这里遇到了一个问题 我正在调用返回 JSON 的天气服务 网址如下 http api wunderground com api Your key conditions q CA San Francisco js
  • 用于 CGM 文件转换的 .NET 库

    我一直在开发一个实用程序 将各种文件转换为 PDF 以便于打印 通过电子邮件发送 我正在尝试添加对 CGM 文件的支持 但无法找到任何库来帮助我做到这一点 这是我可以在 C 中本地完成的事情吗 或者是否有任何基于 NET 的库可以帮助我转换
  • 如何判断是否支持window.confirm()?

    我有一个移动网站 可供各种设备使用 包括一些运行带有 IE 7 的 Windows Embedded 7 锁定版本的车载计算机 出于某种我无法解释的原因 window confirm 已损坏 但所有其他 javascript 似乎都可以工作
  • javascript/canvas,地图样式点缩放

    我有一张画布 上面有一堆物体 我有一个缩放功能 可以放大zoom每个坐标都乘以的变量 我希望能够指向一个坐标并对其进行缩放 类似于在线地图的操作方式 我已经设置了一个演示here 我的代码的当前状态 坐标处的比例 如果给定的屏幕坐标已缩放内
  • 在 C# 中部分下载并序列化大文件?

    作为我大学即将进行的项目的一部分 我需要编写一个客户端 从服务器下载媒体文件并将其写入本地磁盘 由于这些文件可能非常大 我需要实现部分下载和序列化以避免过多的内存使用 我想出了什么 namespace PartialDownloadTest
  • JavaScript 秒数到格式为 hh:mm:ss 的时间字符串

    我想将持续时间 即秒数 转换为以冒号分隔的时间字符串 hh mm ss 我在这里找到了一些有用的答案 但他们都谈到转换为 x 小时和 x 分钟格式 那么是否有一个小片段可以在 jQuery 或原始 JavaScript 中执行此操作 Str
  • 如何使用 WinAPI/C# 获取监视器/显示设备名称

    我正在使用 C WPF 编写一个应用程序 并希望获取所有连接的显示监视器的列表 我使用了 Screen 类并成功获取了列表 但现在列表中的每个显示器名称为 Display1 XXXXXXXX 等 这是不可读的 但是 My Nividia 控
  • VS2015 C++ 静态初始化崩溃,可能是错误

    我发现 Visual Studio 2015 Community 发生了一些奇怪的事情 在 VS2012 中完美运行的代码在移植到 VS2015 时会在调用 main 之前在启动时崩溃 一些静态初始化混乱的典型症状 我有一些静态变量 但使用
  • Elisp交互函数名称

    我正在尝试使用交互式函数名称功能 在 emacs lisp 手册上它说 A 函数名称 即满足 fboundp 的符号 现有 完成 提示 所以我用一个小测试代码尝试了它 defun testfun1 message hello world d
  • D3 与 Angular 集成:“错误: 属性 x 的值无效”

    我正在尝试使用 AngularJS 绑定 SVG 属性 我有以下用于调整形状大小手柄的代码 S handle var s handle d3 select document createElementNS http www w3 org 2