值未绑定到模板中的输入

时间:2014-12-22 16:23:44

标签: polymer

由于某些原因,我绑定到我发布的属性时输入为空。有什么想法我需要做什么?我还必须使用发布probs绑定到内部模板。

<polymer-element name="my-foo.html" noscript>

  <script>

    Polymer('my-element', {

      publish: {

              test: 1,
              foo : {
                baa: 1.000
              }
              },
      // Fires when an instance of the element is created
      created: function () {
      },

    });
  </script>
  <template>
    <form>
        <input  value="{{test}}">
        <input  value="{{foo.baa}}">

    </form>
    <button>Submit</button>
  </template>
</polymer-element>

1 个答案:

答案 0 :(得分:2)

您的代码存在以下几个问题:

  1. 在这种情况下,请勿使用noscript属性。只有在将Polymer构造函数留空时才能使用noscript(因此您可以省略<script>部分,而您的元素仍然会被注册)。但这显然不是这种情况,所以请忽略这个属性。
  2. 您的name属性应为my-foo。扩展程序.html不是必需的。
  3. 在调用Polymer构造函数时,您需要提供与Polymer元素的name属性相同的名称。因此,您需要编写my-element而不是my-foo。或者您可以将构造函数放在<template>块之后。然后没有必要提供任何名称。
  4. 以下是jsfiddle并修剪了您更正后的代码:

    http://jsfiddle.net/kreide/knzjhjyd/

    <script src="https://www.polymer-project.org/components/webcomponentsjs/webcomponents.js"></script>
    <link rel="import" href="http://www.polymer-project.org/components/polymer/polymer.html">
        
    <polymer-element name="my-foo">
        <script>
            Polymer('my-foo', {
                publish: {
                    test: 1,
                    foo: {
                        baa: 1.000
                    }
                },
                // Fires when an instance of the element is created
                created: function() {}
            });
        </script>
        <template>
            <form>
                <input value="{{test}}">
                <input value="{{foo.baa}}">
            </form>
            <button>Submit</button>
        </template>
    </polymer-element>
    <my-foo></my-foo>