Routerlink不能与Angular2中的SVG一起使用

时间:2017-01-17 08:31:46

标签: angular svg angular2-routing

我将工具栏从Bootstrap中的glyphicons更改为自定义SVG' s。我通过一个外部引用了SVG,因为我需要在一个.css文件中设置它们的样式。我的html组件如下所示:

import { Routes, RouterModule } from "@angular/router";

import { EditorTextPropertiesComponent } from "./editor/editor-properties/editor-text-properties/editor-text-properties.component";
import { EditorImagePropertiesComponent } from "./editor/editor-properties/editor-image-properties/editor-image-properties.component";
import { EditorBackgroundPropertiesComponent } from "./editor/editor-properties/editor-background-properties/editor-background-properties.component";

const APP_ROUTES: Routes = [
    { path: 'editor/text-properties', component: EditorTextPropertiesComponent },
    { path: 'editor/image-properties', component: EditorImagePropertiesComponent },
    { path: 'editor/background-properties', component: EditorBackgroundPropertiesComponent }
];

export const routing = RouterModule.forRoot(APP_ROUTES);

如您所见,最后一个按钮有效。前三个不。最后一个是我最初的方式。这是路由器打字稿文件:

Uncaught Error: uBlock Origin: aborting content scripts for http://localhost:4200/assets/svg/cv_image.svg
    at chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/contentscript.js:79
chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/contentscript.js:79 Uncaught Error: uBlock Origin: aborting content scripts for http://localhost:4200/assets/svg/cv_zoom_out.svg
    at chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/contentscript.js:79
chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/contentscript.js:79 Uncaught Error: uBlock Origin: aborting content scripts for http://localhost:4200/assets/svg/cv_zoom_in.svg
    at chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/contentscript.js:79
chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/contentscript.js:79 Uncaught Error: uBlock Origin: aborting content scripts for http://localhost:4200/assets/svg/cv_text.svg
    at chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/contentscript.js:79
chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/contentscript.js:79 Uncaught Error: uBlock Origin: aborting content scripts for http://localhost:4200/assets/svg/cv_photo.svg
    at chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/contentscript.js:79

但是这里不应该有任何错误,因为我的旧按钮仍能正常工作。我在我的控制台中从uBlock Origin获得了一个错误,但是当我在隐身窗口中打开它时,错误消失了,它仍然无法正常工作,所以它不可能。这是错误:

db.execute("UPDATE demo1 SET ... WHERE id = 1")
if db.affected_rows == 0:
    db.execute("INSERT ...")

非常感谢任何帮助!

编辑:所以我看到如果我单击边框我的按钮它确实有效。所以我的svg元素位于工作路由器链接前面。

EDIT2:知道边界有效,我认为底层的div工作正常,所以我添加了#34;指针 - 事件:无;"对元素。这有效!现在它点击了元素。

1 个答案:

答案 0 :(得分:1)

我也在问题中编辑了我的答案:

所以我看到如果我单击边框我的按钮它确实有效。所以我的svg元素位于工作路由器链接前面。

知道边界有效,我认为底层的div工作了,所以我添加了“pointer-events:none;”对元素。这有效!现在它点击了元素。