2015-12-04 82 views
1

我正在嘗試在我的angularjs項目中集成聚合物。我做了一個非常簡單的paper-dropdown-menu,我需要獲取所選項目的值以將其傳遞到我的控制器中的某個函數中。我以這種方式嘗試沒有結果Polymer with angularjs ng-clicking

<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

您的代碼中可能缺少一些東西。首先,在<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> 

它也像你Arraybinding data。這是你如何做到這一點:

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

'DOM-bind'不需要的元素(DOM模塊) –

+0

能否請你我可怎麼辦使用我的代碼,它告訴我?我也以這種方式嘗試過,但也許我錯了什麼東西..謝謝 –

+0

@GünterZöchbauer啊,我明白,今天知道了。 – ComputerFellow