Dart中可观察功能的用途是什么?

时间:2013-07-10 15:50:45

标签: dart observable

我了解当任何一个变量或属性的值发生变化时,@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函数 有用吗?

1 个答案:

答案 0 :(得分:1)

理论上,@observable函数之前的show()确定<template>是否被激活。如果show()开始返回true,可能因为sillywordadjective等都变为非空字符串,<template>将被激活。

无论如何,这是一般原则,

但是,在此特定示例中,其中使用的所有字符串也标记为@observable

@observable String sillyword='';
@observable String adjective='';
@observable String animal='';
@observable String bodypart='';
@observable String verb='';
@observable String adverb='';

这使得@observable之前的show()声明变得不必要。如果删除该特定@observable,则代码仍然有效。

相关问题