在js标记

时间:2016-03-07 07:09:35

标签: javascript polymer polymer-1.0

这是我第一次使用聚合物和JavaScript。我想知道是否可以使用dom-module属性作为js函数参数。这是我的一段代码:

    <dom-module id="sustenagro-matrix" attributes="numbers params space">
     <template>

        <script type="text/javascript">
             Matrix(space, params);
        </script>
     </template> 

     <script>
        Polymer({
            is: "sustenagro-matrix"
        });
     </script>
   </dom-module>

我想使用数字和空格作为js函数矩阵的参数。它甚至可能吗?还有另一种方法可以完成吗?

谢谢; D

编辑:

新代码:

<dom-module id="sustenagro-matrix">
<template>

    <h1>SustenAgro Matrix {{number}}</h1>
    <h2>{{params}}</h2>

    <script type="text/javascript">
         //Matrix(space, params); **SPACE AND PARAMS DON'T WORK HERE. HOW CAN I GET THEM?**
    </script>
</template> 

<script>
    Polymer({
        is: "sustenagro-matrix",
        properties: {
            numbers: Number,
            params: String,
            space: String
        }
    });
</script>

2 个答案:

答案 0 :(得分:2)

这是一些(工作)示例代码,可能会指向正确的方向。

<!doctype html>
<head>
  <base href="http://polygit.org/components/">
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <link href="polymer/polymer.html" rel="import">
</head>
<body>
  <x-example numbers="3" spaces="2" params="hi"></x-example>
  <dom-module id="x-example">
    <template>
      <h1>SustenAgro Matrix {{number}}</h1>
      <div id="matrix"></div>
    </template>
    <script>
      // only need this when in the main document and on non-Chrome
      addEventListener('WebComponentsReady', function() {
        Polymer({
          is: 'x-example',
          observers: [
            'buildMatrix(numbers, spaces, params)'
          ],
          buildMatrix: function(numbers, spaces, params) {
            this.$.matrix.innerHTML = Matrix(numbers, spaces, params);
          }
        });
      });
    </script>
  </dom-module>
  <script>
    // just so there is something, I don't know what your function does exactly
    Matrix = function(n, s, p) {
      return [n, s, p].join('|');
    }
  </script>
</body>

答案 1 :(得分:0)

您可以通过使用getElementById或querySelector等DOM方法获取对自定义元素的引用来引用这些值,例如:document.getElementById('mymatrix')。space

此外,Polymer 1.x不使用attributes属性,该属性全部由Polymer()自定义元素注册中的属性对象处理。