Polymer dom-repeat属性不起作用

时间:2016-08-02 04:48:24

标签: javascript html dom polymer

我一直在关注一个教程并为自己尝试一些基本的联系人列表。当不在dom-repeat模板内的不同部分时,它们在组件内显示得很好。使用聚合物网站上的dom-repeat后,它们就不再出现了。

的index.html

<!doctype html>

<html lang="en">

<head>
  Everything is linked correctly
</head>

<body>
    <aside>
    <contact-list></contact-list>
    </aside>
</body>

</html> 

componenent.html

    <link rel="import" href="bower_components/polymer/polymer.html">

    <dom-module id="contact-list">

        <style>
            ul {
                list-style: none;
            }

            li {
                display: flex;
                padding: 20px;
            }

            li img {
                border-radius: 50%;
                margin-right: 10px;
            }

        li + li {
            border-top: solid 1px #666;
        }

        h3 {
            margin-right: 0 40px 0 0;
            line-height: 80px;
        }

        li span {
            line-height: 120px;
            margin-left: 20px;
        }
    </style>

    <template>
        <ul>
            <template is="dom-repeat" items="{{contact}}">
                <li>
                    <img src="{{item.img}}" alt="User Photo">
                    <h3>{{item.name}}</h3>
                    <span>{{item.email}}</span>
                </li>
            </template>
        </ul>
    </template>
</dom-module>

<script>
Polymer({
    is: "contact-list",
    ready: funtion() {
        this.contact = [
            {
                name: "Scott",
                email: "ShimyShimy@gmail.com",
                img: "https://randomuser.me/api/portraits/men/45.jpg"
    }

            , {
                name: "Tim",
                email: "DankMemer@gmail.com",
                img: "https://randomuser.me/api/portraits/men/28.jpg"
    }

            , {
                name: "Ben",
                email: "SuperCuck@gmail.com",
                img: "https://randomuser.me/api/portraits/men/68.jpg"
    }
        ]
    }

});
</script>

1 个答案:

答案 0 :(得分:1)

你输了一个拼写错误:

ready: funtion() {

那应该是function,带有“c”。修复足以使您的代码适合我(请参阅下面的演示)。

<head>
  <base href="https://polygit.org/polymer+1.6.0/components/">
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <link rel="import" href="polymer/polymer.html">
</head>

<body>
  <contact-list></contact-list>

  <dom-module id="contact-list">
    <style>
      ul {
        list-style: none;
      }
      li {
        display: flex;
        padding: 20px;
      }
      li img {
        border-radius: 50%;
        margin-right: 10px;
      }
      li + li {
        border-top: solid 1px #666;
      }
      h3 {
        margin-right: 0 40px 0 0;
        line-height: 80px;
      }
      li span {
        line-height: 120px;
        margin-left: 20px;
      }
    </style>

    <template>
      <ul>
        <template is="dom-repeat" items="{{contact}}">
          <li>
            <img src="{{item.img}}" alt="User Photo">
            <h3>{{item.name}}</h3>
            <span>{{item.email}}</span>
          </li>
        </template>
      </ul>
    </template>
    <script>
      HTMLImports.whenReady(function() {
        Polymer({
          is: "contact-list",
          ready: function() {
            this.contact = [{
              name: "Scott",
              email: "ShimyShimy@gmail.com",
              img: "https://randomuser.me/api/portraits/men/45.jpg"
            }, {
              name: "Tim",
              email: "DankMemer@gmail.com",
              img: "https://randomuser.me/api/portraits/men/28.jpg"
            }, {
              name: "Ben",
              email: "SuperCuck@gmail.com",
              img: "https://randomuser.me/api/portraits/men/68.jpg"
            }];
          }
        });
      });
    </script>
  </dom-module>
</body>

plunker