1

正如标题所说,问题很明显:

施工范围内:

{{if is_completed == 1}}
 <div>
   <p>{{:#parent.parent.data.myproperty}}</p>
 </div>
{{/if}}

父属性不可见!

我通过在父循环中创建如下结构来解决它:{{for movies ~myproperty=myproperty}},并且 ~myproperty 在 IF 条件中是可见的,但是如果我有多个变量怎么办,如果我有多层嵌套数据结构怎么办?

4

1 回答 1

5

{{if ...}}块添加了另一个视图,因此意味着您需要添加一个 .parent 来逐步通过该视图,如下所示:{{:#parent.parent.parent.data.myproperty}}

您可以按照您所说的 ( ~myproperty=...) 传递变量,并且它们对任何嵌套深度都是可见的。

您的变量也可以是一个对象,例如当前数据对象 ~myObj=#data::

{{sometag a=b ~myObj=#data}}
    ....
    {{:~myObj.myproperty}}
    ...
{{/sometag}}

因此您不需要为每个属性使用单独的变量。

您还可以访问顶级数据对象并从那里向下钻取:

{{:~root.foo...myproperty}}.

最后,您可以使用#get("item")任何数量的块来逐步前进{{if}}并获得最近的“项目”视图(即重复{{for ...}}块的项目视图)。

所以你会写:

{{:#get("item").data.myproperty}}

于 2013-07-19T23:33:41.790 回答