用css中的url重写用angular

时间:2015-03-17 21:35:35

标签: javascript css angularjs svg base-url

在角度方面存在基本集和带有svgs的html5mode的问题。它会导致filter: url(#url)等所有内容重写为filter: url(/base/#url)

https://github.com/angular/angular.js/issues/8934

我已尝试禁用html5模式并移除基座,但每当有角度启动时,它仍会重写网址。

如果svg存在,则加载角度时,它将显示正确的剪辑/过滤器,但是一旦角度初始化它就会消失。有没有人知道解决方法?我在尝试使用完整文件路径之前尝试使用完整文件路径以及使用基本禁用功能。

通过基础设定我的意思 <base href='/'>可以正常工作。

对此问题的进一步检查表明,当角度初始化时,它会将滤波器转换为svg

之前

<svg>
  <defs>
    <filter>
    </filter>
  </defs>
  <g> 
    <path>
  </g>
</svg>

<svg>
  <defs>
    <svg class='filter'> 
      <path>
    </svg>
  </defs>
  <g> 
   <path>
  </g>
</svg>

2 个答案:

答案 0 :(得分:0)

我认为您可能在索引文件的头部设置了错误的基本属性。

  

务必检查所有相关链接,图像,脚本等角度   要求您在主html的头部指定url base   file()除非将html5Mode.requireBase设置为   传递给html5Mode定义对象的false   $ locationProvider.html5Mode()。有了这个,相对的网址将永远   解析为此基本URL,即使文档的初始URL是   不同。

Documentation

答案 1 :(得分:0)

这最终是因为我们有一个名为filter的指令......

我们这是一个错误的错误!