我有一个具有2个私有属性的Lightning Web Component。一种性质是通过轨道反应的,而另一种性质是非反应性的(未装饰)。
这是HTML文件:
<template>
<table style="background: white;">
<tr>
<td>
Reactive Private Property:
<lightning-input type="text" onchange={reactiveHandler}></lightning-input>
Value: {reactiveProperty}
</td>
</tr>
<tr>
<td>
Nont-Reactive Private Property:
<lightning-input type="text" onchange={nonReactiveHandler}></lightning-input>
Value: {nonReactiveProperty}
</td>
</tr>
</table>
</template>
这是JS文件:
import { LightningElement, track } from 'lwc';
export default class ReactiveAndNonReactiveProperties extends LightningElement {
@track reactiveProperty;
nonReactiveProperty;
reactiveHandler(event) {
this.reactiveProperty = event.target.value;
}
nonReactiveHandler(event) {
this.nonReactiveProperty = event.target.value;
}
}
如您所见,只有一个属性装饰有@track。但是,当我在非反应性属性的输入文本中键入某些内容时,它仍会呈现在屏幕上,直到我更改了反应性属性的输入文本中的值时,该情况才会发生。
根据Spring'20版本,默认情况下所有属性都是反应性的。即使您不使用“ track”,它也会在屏幕上呈现。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句