我已成功使用core-ajax传递json对象,但我想编写一个可以传递简单值的自定义元素。这就是我所拥有的,但它不起作用。
testOutput元素
<link rel="import" href="../polymer/polymer.html">
<polymer-element name="testOutput">
<template>
This doesn't do anything but output a value.
</template>
<script>
Polymer('testOutput', {
response: "MyValue"
});
</script>
</polymer-element>
testInput元素
<link rel="import" href="../polymer/polymer.html">
<polymer-element name="testInput" noscript attributes="input">
<template>
Here is the value from the other element:
<h1>{{input}}</h1>
</template>
</polymer-element>
的index.html
<testOutput response="{{output}}"></testOutput>
<testInput input="{{output}}"></testInput>
输出
除了输出值之外,它什么都不做。
以下是其他元素的值:
答案 0 :(得分:1)
我只需在输出元素中发布响应变量。您可以通过将其包含在属性中或使用发布功能来完成此操作。
<polymer-element name="testOutput" attributes="response">
或
Polymer('testOutput', {
publish: {
response: "MyValue"
}
});
答案 1 :(得分:0)
我认为您的回答应该是一个功能。
Polymer('testOutput', {
response: function() { return "MyValue" };
});
答案 2 :(得分:0)
我认为有两种方法可以做到这一点
第一种方式
您需要创建要获取数据的元素:
<polymer-element name="first-element">
<template>
</template>
<script>
Polymer('first-element',{
needPass: 'I am Passed'
});
</script>
</polymer-element>
需要使用querySelector获取第一个元素并获取数据
之后<link rel="import" href="../../bower_components/polymer/polymer.html">
<polymer-element name="second-element">
<template>
<style>
:host{
width: 100%;
height: 100%;
}
</style>
<h1>{{passed}}</h1>
</template>
<script>
Polymer('second-element',{
passed: '',
ready: function(){
var first_el = document.querySelector('first-element');
this.passed = first_el.needPass;
}
});
</script>
</polymer-element>
将元素调用到索引
<first-element></first-element>
<second-element></second-element>
第二种方式
或者你可以将第一个元素调用到你的第二个元素
第一个元素:
<link rel="import" href="../../bower_components/polymer/polymer.html">
<polymer-element name="first-element" attributes="needPass">
<template>
</template>
<script>
Polymer('first-element',{
needPass: 'I am Passed'
});
</script>
</polymer-element>
第二个元素
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="first-element.html">
<polymer-element name="second-element">
<template>
<style>
:host{
width: 100%;
height: 100%;
}
</style>
<first-element needPass="{{needPass}}"></first-element>
<h1>{{needPass}}</h1>
</template>
<script>
Polymer('second-element',{
ready: function(){
}
});
</script>
</polymer-element>
并仅调用索引第二个元素
我希望对你有所帮助。
PS:我测试了代码。