繁体   English   中英

Polymer-Dart 1.0 dom-如果不起作用

[英]Polymer-Dart 1.0 dom-if not working

所以我试图使用<template is="dom-if">但我无法使其工作。

<template is="dom-repeat" items="{{row}}" as="project">
   <template is="dom-if" if="{{project == null}}">
      <span>Untitled project</span>
   </template>
   <template is="dom-if" if="{{project != null}}">
      <span>{{project.name}}</span>
   </template>
 </template>

出于某些原因,我永远不会显示Untitled project尽管有2个元素为null

Polymer-Dart的开发者预览版中是否还没有表达式?

实际上,您只需使用简单的{{project}}和{{!project}}绑定即可。 ! 是聚合物1.0中允许的唯一表达式之一。 它使用JS falsyness,因此null值将为“false”,但空列表/ etc也是如此。

您可能还需要在ready方法中将值显式初始化为null:

ready() {   if (project == null) set('project', null); }

基本上,对于null初始值,我们实际上将undefined发送到js端。 但是,对于未定义的值,绑定根本不会运行,因此您需要显式指定null以确保dom-ifs将计算表达式。 我们这样做是为了避免在每个元素启动时为每个属性提供额外的更改通知。

我不知道Polymer-Dart,但是在Polymer 1.0中不再支持表达式( docs )。

您可以使用计算绑定来实现相同的目标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM