Angular 2:通过UI上的用户输入/事件动态控制SVG图像/图标Css样式
我使用Jquery在Angular 2中动态控制svg图像的Css样式。
1:使用鼠标hover等事件进行控制
下面是一个简单的圆圈.svg图像的示例代码,其中定义了初始样式,并且圆圈上的鼠标hover事件将在hover圆圈时触发“func1”:
.st0{ fill:#FFFFFF; stroke:#000000; stroke-width:4; stroke-miterlimit:10; }
现在定义此函数:func1()在其相应的组件(.ts文件)中,其中包含要使用jquery更改的样式。 它看起来像这样:
func1(){ console.log("func1 has been called!"); $(".st0").css({"stroke":"yellow", "fill": "blue"}); }
尝试探索其他事件(如“点击”)。
2.通过表格输入进行控制
如果要使用表单输入更改svg的样式,则应使用动态绑定。 在模板中示例附加代码(以及之前的svg代码):
代码需要添加到相应的组件(.ts文件)中:
stroke:any; fill:any; submit(){ console.log("submit called!"+ this.stroke+" and "+ this.fill); $(".st0").css({"stroke":this.stroke, "fill": this.fill}); }
只需使用ngStyle
指令即可
只需使用ngStyle
指令即可
尽量避免在Angular2中使用jQuery。