我了解当任何一个变量或属性的值发生变化时,@observable
变量或属性将能够与HTML对应变量同步。
我不知道的是@observable
功能的目的/重要性以及adlibitum example:
@observable bool show() {
if (sillyword != '' && adjective != '' &&
animal != '' && bodypart != '' &&
verb != '' && adverb != '') {
return true;
} else {
return false;
}
}
及其HTML对应物:
<template instantiate="if show()">
<p>Dear Ms. {{sillyword}},</p>
<p>Little {{adjective}} Billy missed school
because he was sick with wild-{{animal}} flu.
His {{bodypart}} swelled up and fell off.
He can no longer {{verb}}.</p>
<p>Most {{adverb}} yours, Billy's mother</p>
</template>
在什么样的情况下@observable
函数 有用吗?
答案 0 :(得分:1)
理论上,@observable
函数之前的show()
确定<template>
是否被激活。如果show()
开始返回true
,可能因为sillyword
,adjective
等都变为非空字符串,<template>
将被激活。
无论如何,这是一般原则,
但是,在此特定示例中,其中使用的所有字符串也标记为@observable
:
@observable String sillyword='';
@observable String adjective='';
@observable String animal='';
@observable String bodypart='';
@observable String verb='';
@observable String adverb='';
这使得@observable
之前的show()
声明变得不必要。如果删除该特定@observable
,则代码仍然有效。