Angular:点击事件可以运行单个语句吗?

时间:2017-08-15 17:25:40

标签: angular

在Angular 4中,是否可以在单击事件中执行代码而无需为其编写函数? e.g。

<button (click)="bool=true; console.log("print"); Function()">Button1</button>

在做了一点阅读之后,原因可能是不可能的是,在这种情况下,html元素按钮属于typescript组件,而不是html模板,所以你不会有一个代码之外的代码功能那里。但是......我不确定这是否接近正确的理解。

编辑:

这篇文章, console.log not working in Angular2 Component (Typescript),用console.log回答了这个问题,但在其他一些情况下仍然需要一些解释,例如

<button (click)="bool=true">Button1</button>

接受的答案解释了这一点的局限性。

2 个答案:

答案 0 :(得分:2)

可以在点击事件中编写小表达式但有限制。请参阅官方文档here

例如,您可以在click事件处理程序的表达式中更新组件实例的属性,而无需将此简单表达式包装在组件实例内的函数中。

我创建了一个简单的计数器组件来演示内联表达式。请参阅此example

<button (click)="counter=counter+1">INC</button>
<button (click)="decrement()">DEC</button>

希望这有帮助

答案 1 :(得分:0)

你的意思是:

<button (click)="showDetail=true; number=2; calculate()">Click me </button>

是的,可能的方法和属性将被绑定