聚合物数据绑定不起作用

时间:2014-07-02 07:30:38

标签: dart dart-polymer

我想让<core-menu>与Dart合作。它显示正常,但selectedIndex属性未更新。 以下代码适用于PolymerJS,但在Dart版本中,selectedIndex未更新(<core-menu selectedIndex="{{selectedMenuIndex}}"...>

我希望{{selectedMenuIndex}}标记中可以使用<core-animated-pages>,但{{selectedMenuIndex}}变量为空。它没有得到更新。 .dart文件的var声明为:

@observable num selectedMenuIndex = 0;

这是.html代码:

<link rel="import" href="packages/polymer/polymer.html">
<link rel="import" href="packages/core_elements/core_drawer_panel.html">
<link rel="import" href="packages/core_elements/core_menu.html">
<link rel="import" href="packages/core_elements/core_selector.html">
<link rel="import" href="packages/core_elements/core_item.html">
<link rel="import" href="packages/core_elements/core_icon_button.html">
<link rel="import" href="packages/paper_elements/paper_icon_button.html">
<link rel="import" href="packages/core_elements/core_toolbar.html">
<link rel="import" href="packages/core_elements/core_header_panel.html">
<link rel="import" href="packages/paper_elements/core_animated_pages.html">

<polymer-element name="test-app">

<template>
<!-- [START html] -->
<core-drawer-panel id="drawerPanel">

    <core-header-panel drawer>
        <core-toolbar id="navheader'">
            <span>Menu</span>
        </core-toolbar>
        <core-menu selected="0" selectedIndex="{{selectedMenuIndex}}" id="coreMenu" on-click="{{togglePanelButton}}">
            <core-item icon="settings" label="One"></core-item>
            <core-item icon="search" label="Two"></core-item>
        </core-menu>
    </core-header-panel>

    <core-header-panel main>
        <core-toolbar id="mainheader">
            <paper-icon-button id="navicon" icon="menu" on-click="{{ togglePanelButton }}"></paper-icon-button>
            <span flex>Title</span>
        </core-toolbar>
        <core-animated-pages selected="{{selectedMenuIndex}}" notap id="core_animated_pages" transitions="slide-from-right">
            <section class="content-section">
                Section 1
            </section>
            <section class="content-section">
                Section 2
            </section>
        </core-animated-pages>
    </core-header-panel>

</core-drawer-panel>
<!-- [END html]-->
</template>

<script type="application/dart" src="testapp.dart"></script>
</polymer-element>

您是否也遇到过数据库问题,或者我做错了什么?

更新:我在这里提交了一份错误报告: https://code.google.com/p/dart/issues/detail?id=19794

2 个答案:

答案 0 :(得分:3)

我在这里得到了Dart Polymer小组的回答: https://code.google.com/p/dart/issues/detail?id=19794

似乎与core_elements的双向绑定存在问题。

答案 1 :(得分:1)

我有类似的问题。当我试图将核心元素嵌入定制的聚合物元素中时,核心元素不会加载。我将core-element移动到index.html文件并且它工作正常。

我看到有一个补丁来解决这个问题。补丁表明,当编译为JS时,代码应该可以工作。我在JS中没有运气。