Polymer 0.5.5:条件模板 and/or 核心列表中的模板动态参考
Polymer 0.5.5: conditional template and/or template dynamic reference inside core-list
我有一个 polymer 0.5.5 核心列表,它显示了 AJAX 调用中的一些项目。在核心列表中,如果我有一个模板,它可以正常工作并按预期显示我的项目。不过,我想做的是重用相同的核心列表来显示不同项目的列表,这些项目应该绑定到不同的模板。我这辈子都做不到。
我试过使用两个带有 if 属性的模板,它们使用相反的条件(if="{{model.attribute}}"
和 if="{{!model.attribute}}"
),但是这两个条件似乎总是计算为 false。
我尝试过带有通过条件 (ref="{{model.attribute?'template1':'template2'}}"
) 或通过元素中的变量 (ref="{{mode}}"
) 计算的 ref 属性的模板,我在调用 AJAX 再次请求。
这些都不起作用。在最好的情况下,只使用第一个模板。在其他情况下,什么也没有出现。在其他代码组合上,情况更糟:我 "seem" 获得了正确的初始模板,但有些东西不起作用,好像只传递了部分模型对象。我有一个数据过滤器,在一些奇怪的情况下,应该显示的数据较少。
我有一种沮丧的感觉,这种类型的动态模板不能很好地与核心列表一起使用。有人实现过这种效果吗?基本上我只想要一个可以显示两种类型的项目并相应地切换模板的列表。由于切换是以编程方式完成的,如果需要我可以在代码中做一些事情,但我不确定我可以通过这种方式在模板中更改什么。
谢谢!
这对我有用:
<div vertical layout fit style="overflow:auto;">
<h1>asd</h1>
<core-list data="{{ list_data }}" id="core_list_ps">
<template>
<div class="item">
<!-- NOTE!
All list data, as custom elements, must go inside the 'item' here. -->
<template if="{{model.list1}}">
<my-list1
id="list1_id"
route="{{route}}"
list1_data='{{model}}'
></my-list1>
</template>
<template if="{{model.list2}}">
<my-list2
id="list2_id"
route="{{route}}"
list2_data='{{model}}'
></my-list2>
</template>
</div>
</template>
</core-list>
因此,基于将哪些数据传递给核心列表模型 - 使用不同的自定义元素来呈现元素。
Flatiron-director 还用于根据路线过滤数据(list1/list2)。
我有一个 polymer 0.5.5 核心列表,它显示了 AJAX 调用中的一些项目。在核心列表中,如果我有一个模板,它可以正常工作并按预期显示我的项目。不过,我想做的是重用相同的核心列表来显示不同项目的列表,这些项目应该绑定到不同的模板。我这辈子都做不到。
我试过使用两个带有 if 属性的模板,它们使用相反的条件(if="{{model.attribute}}"
和 if="{{!model.attribute}}"
),但是这两个条件似乎总是计算为 false。
我尝试过带有通过条件 (ref="{{model.attribute?'template1':'template2'}}"
) 或通过元素中的变量 (ref="{{mode}}"
) 计算的 ref 属性的模板,我在调用 AJAX 再次请求。
这些都不起作用。在最好的情况下,只使用第一个模板。在其他情况下,什么也没有出现。在其他代码组合上,情况更糟:我 "seem" 获得了正确的初始模板,但有些东西不起作用,好像只传递了部分模型对象。我有一个数据过滤器,在一些奇怪的情况下,应该显示的数据较少。
我有一种沮丧的感觉,这种类型的动态模板不能很好地与核心列表一起使用。有人实现过这种效果吗?基本上我只想要一个可以显示两种类型的项目并相应地切换模板的列表。由于切换是以编程方式完成的,如果需要我可以在代码中做一些事情,但我不确定我可以通过这种方式在模板中更改什么。
谢谢!
这对我有用:
<div vertical layout fit style="overflow:auto;">
<h1>asd</h1>
<core-list data="{{ list_data }}" id="core_list_ps">
<template>
<div class="item">
<!-- NOTE!
All list data, as custom elements, must go inside the 'item' here. -->
<template if="{{model.list1}}">
<my-list1
id="list1_id"
route="{{route}}"
list1_data='{{model}}'
></my-list1>
</template>
<template if="{{model.list2}}">
<my-list2
id="list2_id"
route="{{route}}"
list2_data='{{model}}'
></my-list2>
</template>
</div>
</template>
</core-list>
因此,基于将哪些数据传递给核心列表模型 - 使用不同的自定义元素来呈现元素。
Flatiron-director 还用于根据路线过滤数据(list1/list2)。