首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据angular 6中的单击事件更改边框半径

如何根据angular 6中的单击事件更改边框半径
EN

Stack Overflow用户
提问于 2018-08-02 02:28:22
回答 3查看 2.1K关注 0票数 1

我有两个不同的html文件,

test1.html test2.html test2.component.ts

1) test1.html:

代码语言:javascript
运行
复制
   <div style="width:100%;height:20%"></div>

2) test2.html:

如果单击rectangle function,test1.html边框半径应更改为0px。

如果我点击roundCorder函数,test1.html边框半径应该会变成10px;

代码语言:javascript
运行
复制
<img (click)="rectangle()" [src]="imgSrc" (mouseover)="rectangleHover()" (mouseout)="rectangleOut()" style="height:100px;float:left;margin:15px;" >
       <img (click)="roundCorner()" [src]="imgSrc1" (mouseover)="roundHover()" (mouseout)="roundOut()" style="height:100px;float:left;margin:15px;">   

3) test2.components.ts:

代码语言:javascript
运行
复制
  roundCorner(){
     // want to change test1.html file div border radius as 10px;
  }
EN

Stack Overflow用户

发布于 2018-08-02 03:22:26

test1.html

代码语言:javascript
运行
复制
<div #elem1 style="width:100%;height:20%"></div>

test2.html

代码语言:javascript
运行
复制
 <img #elem2 (click)="rectangle()" [src]="imgSrc" (mouseover)="rectangleHover()" (mouseout)="rectangleOut()" style="height:100px;float:left;margin:15px;" >
           <img (click)="roundCorner()" [src]="imgSrc1" (mouseover)="roundHover()" (mouseout)="roundOut()" style="height:100px;float:left;margin:15px;">   

test2.component.ts

代码语言:javascript
运行
复制
import {ElementRef,Renderer2} from '@angular/core';
@ViewChild('elem2') el:ElementRef;

constructor(private rd: Renderer2,sharedService:SharedService) {
   this.el=this.sharedService.get();
}



 roundCorner(){
     // want to change test1.html file div border radius as 10px;
    this.el.style.border-radius='10px';

  }
rectangle(){
this.el.style.border-radius='0px';
}

shared.service.ts

代码语言:javascript
运行
复制
@Injectable()
class SharedService{
let elem1:any
set(element:any)
{
  this.elem1=element;
}
get(){
return this.elem1;
}

test1.component.ts

代码语言:javascript
运行
复制
@ViewChild('elem1'):ElementRef
constructor(sharedService:SharedService,elementRef:ElementRef){
}
ngOnInit()
{
    this.sharedService(this.elem1);
}

您必须使用一个共享服务来访问两个组件之间的dom元素引用变量,然后分别设置边框半径的属性。

在component.ts文件和app.module.ts中导入{ SharedService },并将SharedService放在app.module.ts中的提供程序数组下

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51640029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档