具有角度单击的聚合物

时间:2015-12-04 15:49:12

标签: javascript jquery angularjs polymer

我正在尝试将聚合物整合到我的angularjs项目中。我做了一个非常简单的paper-dropdown-menu,我需要获取所选项的值,以便在我的控制器中的函数中传递它。我试着用这种方式没有结果

<template id="Demo" is="dom-bind">
        <paper-dropdown-menu name="simple-test">
            <paper-listbox class="dropdown-content" selected="0">
                <template is="dom-repeat" items="[[modes]]" as="view">
                    <paper-item data-ng-click="selectedMod(view)">[[view]]</paper-item>
                </template>
            </paper-listbox>
        </paper-dropdown-menu>
    </template>

<script>
    Demo.modes = [
        'First',
        'Second',
        'Third'
    ];

</script>

在控制器中我有功能

$scope.selectedMod = function(value) {
  console.log(value)
};

但是当我点击该项目时没有任何反应。有可能这样做吗?

1 个答案:

答案 0 :(得分:1)

您可能在代码中遗漏了一些内容。首先,在<dom-module>标记内创建组件。

其次,在<script> </script>中,您需要初始化Polymer。以下是documentation

中的一个示例
<dom-module id="element-name">

  <template>
    <style>
      /* CSS rules for your element */
    </style>

    <!-- local DOM for your element -->

    <div>{{greeting}}</div> <!-- data bindings in local DOM -->
  </template>

  <script>
    // element registration
    Polymer({
      is: "element-name",

      // add properties and methods on the element's prototype

      properties: {
        // declare properties for the element's public API
        greeting: {
          type: String,
          value: "Hello!"
        }
      }
    });
  </script>

</dom-module>

它看起来像Array类型的binding data。你就是这样做的:

<script>
Polymer({
      is: '<your-element-name>',
      properties: {
        modes: {
          type: Array,
          value = ['First', 'Second', 'Third']
       }
     }
})
</script>