当前位置: 首页 > 面试题库 >

AngularJS ng-href和svg xlink

云韬
2023-03-14
问题内容

我想要一些有关将XML命名空间属性与angular结合使用的信息。

问题是angular附带了一些指令,用于在angular分析了表达式后处理诸如href和src之类的书写属性(否则浏览器将尝试将其加载{{mymodel.myimage}}为url)

https://github.com/angular/angular.js/blob/master/src/ng/directive/booleanAttrs.js#L329

我面临的问题是我正在使用angular与D3一起输出svg,并且由于angular没有办法输出,xlink:href所以我被卡住了。

我创建了一个自定义指令,输出xlink:href

app.directive('ngXlinkHref', function () {
  return {
    priority: 99,
    restrict: 'A',
    link: function (scope, element, attr) {
      var attrName = 'xlink:href';
      attr.$observe('ngXlinkHref', function (value) {
        if (!value)
          return;

        attr.$set(attrName, value);
      });
    }
  };
});

完整演示:http :
//plnkr.co/edit/cMhGRh

但是,如果我不手动将xlink:href添加到元素,则svg图像将无法呈现。

任何有关如何最好地与xml一起处理xml名称空间/ svg的建议将不胜感激。


问题答案:

您可以使用 ng-attr-<some attribute>

ng-attr-xlink:href="{{xxx}}" 为我工作。

请注意,您还需要一个空xlink:href=""值作为初始值。–徐熙re



 类似资料:
  • 问题内容: 如果我使用的话,应该这样写国际电话代码。 到目前为止,还算不错,但是如果有的话,我找不到有关如何以“国际”方式写手机号码的信息。 问题答案: 在您所在国家/地区内拨打号码时,仍然需要先拨打国家中继号码。例如,在澳大利亚,您会拨打: 对于手机,这变成 现在,当我想通过国际中继拨号时,您需要删除中继前缀并将其替换为国际拨号前缀。 这就是为什么您经常会发现在拨打国际电话时,即使使用国际前缀在

  • 问题内容: 我开始将Scrapy用于一个小型项目,但无法提取链接。每次找到该类时,我只会得到“ []”而不是URL。我是否缺少明显的东西? 来自网站的示例: 问题答案: 你的xpath查询错误 在这一行中,你实际上是在对没有任何Href属性的div进行迭代 为了使其正确,你应该在中选择元素: 最好的解决方案是直接href在for循环中提取属性 为了简单起见,你还可以使用CSS选择器

  • 本文向大家介绍请解释下href="javascript:void(0)"和href="#"的区别是什么?相关面试题,主要包含被问及请解释下href="javascript:void(0)"和href="#"的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 "#" 包含了一个位置信息,默认的锚是#top 也就是网页的上端。 而javascript:void(0), 仅仅表示一个死链接。 在页

  • 问题内容: 在和属性用于包括一些外部实体,如图像,CSS文件,HTML文件,其他任何网页或JavaScript文件。 有没有明确区分和?在哪里或何时使用或?我认为它们不能互换使用。 我在下面给出一些使用这些属性的示例: 要引用CSS文件:在link标记内。 引用JS文件:在script标签内。 要引用图像文件:在图像标签内。 要引用另一个网页:在锚标记内。 问题答案: 是。 src 和 href

  • 如果我使用tel:我应该写国际电话代码,就像这样。 到目前为止还不错,但我找不到关于如何以“国际”方式写手机号码的信息,如果有的话。

  • 我有这个html代码,我需要得到链接 我接下来做: 但这不是工作。< br >我该怎么办?