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 的值无效” 的相关文章

  • 如何清除单个函数中的所有 AngularJS $scope 和 $rootScope 值?

    我需要清除所有 scope执行某些操作时的值 例如 如果我点击 Signout 按钮重定向到 signin 页面 然后所有 scope or rootScope应清除会话中的值 我怎样才能实现这个目标 您可以执行以下操作 rootScope
  • 用户脚本 - 有没有办法将 jquery 代码注入 angularjs dom?

    所以我正在尝试为一个网站创建用户脚本 我无法更改网站的任何源代码 因为它不是我的 网站到处都使用 AngularJS 控制器 我研究了几天如何做到这一点 但没有成功 所以我尝试注入代码 nav after div test div 当我通过
  • Chrome 中的性能问题

    我目前正在从事一个相对较大的项目 使用 AngularJs 构建 应用程序的一部分是一个表单 您可以向其中添加任意数量的页面 不幸的是 添加了很多不必要的垃圾 即表示表单模型的对象可能会变得非常大 在某些时候 Chrome 基本上无法处理它
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • AngularUI 可排序不适用于多个应用程序

    我创建了带有可排序列表的 angularjs 应用程序 我的应用程序可以与其他不同的应用程序一起多次包含在页面中 每个角度应用程序都是独立的用户控制 var myapp angular module myapp ui myapp contr
  • 如何使用 SVG 形状进行图像裁剪?

    任何人都可以指导我如何使用 SVG 独特的形状制作 CSS 图像剪辑路径 有些人建议使用第三方插件 例如 SVG Injector 等 任何人都可以帮助我如何完成这项适用于所有浏览器的任务 我给出了一张示例图片以使其更好地理解 请检查下图
  • d3.js - .exit().remove() 组元素不起作用

    我正在构建一个动态条形图 查看肯尼亚和坦桑尼亚男孩和女孩的考试成绩 用户可以从下拉菜单中选择他们想要查看哪个国家 肯尼亚 坦桑尼亚 和哪一年 2010 年 2011 年 的分数 我已清理所有数据并将其组织到单独的国家 地区年份 csv 文件
  • 如何在 AngularJS 中从 ng-include 切换控制器值?

    我正在使用 AngularJS 我有一个header html我已经使用 ng include 将该 html 页面合并到另一个 html 中 另外 我有一个下拉列表header html我希望显示所选值 从下拉列表中 列表 我怎样才能做到
  • 如何使用 ng-repeat 更改 AngularJS 中特定 的背景颜色

    如何为每一行设置不同的背景颜色 举个例子 第 1 行 蓝色 第2行 红色 第三行 绿色 main js scope names fName John lName David fName Richard lName Daniel fName
  • AngularJS 仅在解析时返回两个 http get 请求

    我有一个 Angular 应用程序 在控制器中我需要调用一个发出两个 http get 请求的函数 并且我需要这个函数在解析这些值时返回这些值 我无法在 routeProvider 中解析它们 因为此函数需要在同一控制器中获取值 我展示了控
  • 旋转嵌套 SVG

    我在用SVG js http svgjs com并尝试使用 SVG 进行一些操作 我以前使用过 canvas 但我对其生成的图像质量非常失望 因此我决定使用纯 SVG 我设法将所有内容都改为纯 SVG 方法 除了一件事 旋转 我无法让它发挥
  • HTML5 URL 模式下 AngularJS 的 Flask 路由

    我有一个通过 Flask 提供服务的 AngularJS 应用程序 我使用的是 HTML5 路由模式 因此需要将多个 URL 重定向到客户端应用程序 我不确定如何进行通配符匹配才能正确执行此操作 目前我只是匹配多个级别的路径 如下所示 ap
  • Jhipster 生成器跳过 --skip-server 处的身份验证代码

    为什么当我们使用 skip server 生成项目时 哟 jhipster skip server 部分身份验证丢失 在 AJS A2 上 是吗 每次我需要粘贴部分代码 Angular 上的 AuthServerProvider 或 Ang
  • 如何在 AngularJS SPA 应用程序中处理浏览器刷新?

    我的 AngularJS 应用程序使用 用户界面路由器 一个index html 文件 所有登录和数据调用都会发送到一个 ASP NET Web 控制器 其 URL 以 api xxx 开头 当用户输入 myapp com 时 服务器ind
  • 具有材料设计的Angularjs无法实例化模块ngMaterial

    我已经使用 Bower 安装了 AngularJS 和 MaterialJS 凉亭安装角材料 并将 ngMaterial 注入我的应用程序 但出现此错误 Uncaught Error injector modulerr Failed to
  • 具有可变填充的 D3 包布局

    我无法使用 d3 layout pack padding 获得变量填充 我想在组和叶节点处放置不同的填充 d3 layout pack sort null size this width this height children funct
  • Angular 2 中的变更检测

    我正在将角度 1 和角度 2 集成在一起 因此我有角度 1 控制器和服务以及角度 2 组件 这些对于数据检索和存储来说工作得很好 反之亦然 下面是我的 html 页面 h3 Angular 1 service h3 div div
  • 测试 AngularJs 的 $http.defaults.headers.common 是否设置了特定标头

    所以我对 JavaScript 和 AngularJS 的世界还是个新手 因此我的代码还没有达到应有的水平 但它正在改进 尽管如此 我开始学习并实现一个带有 REST 后端的简单登录页面 提交登录表单后 将返回一个身份验证令牌并将其设置为默
  • 将函数传递给指令以在链接中执行的正确方法

    我知道我们通常通过隔离范围将函数传递给指令 directive myComponent function return scope foo 然后在模板中我们可以这样调用这个函数
  • 为什么我不能在 AngularJS 中使用 data-* 作为指令的属性名称?

    On the t他的笨蛋 http plnkr co edit l3KoY3 p preview您可以注意到属性名称模式的奇怪行为data 在指令中 电话 Test of data named attribute br

随机推荐

  • 未能在 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