从聚合物元素返回简单值
Return simple value from polymer element?
我已经成功地使用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>
这只是输出一个值。
这是另一个元素的值:
我只需要在输出元素中发布响应变量。您可以通过将其包含在属性中或使用publish函数来实现。
<polymer-element name="testOutput" attributes="response">
或
Polymer('testOutput', {
publish: {
response: "MyValue"
}
});
我认为你的回应应该是一个函数。
Polymer('testOutput', {
response: function() { return "MyValue" };
});
我认为有两种方法可以做到
第一种方法你需要在你想要获取数据的地方创建元素:
<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:我测试了代码
相关文章:
- 查找大写字母的简单正则表达式是返回小写字母
- 如何使用 json 返回简单数据
- 简单的jquery不起作用,并返回错误
- AJAX-没有得到简单的php响应(返回“undefined”)
- 简单的onClick返回函数不起作用
- 简单的js替换并返回文本
- Phonegap:监听页面并关闭InAppBrowser返回index.html的简单方法
- 在Angularjs服务中为返回对象引用的http请求提供的数据构建简单的缓存
- Javascript 的提示,它接受简单的数学作为值,然后返回答案
- 返回“undefined”的简单JavaScript字符串变量
- 简单的短 JQuery 和 DataFetch 测试返回错误
- 简单的jquery .post不返回数据
- 学习Javascript,但停留在一个简单的返回关键字上
- 简单的模不返回我期望的值列表
- 使用文本输入和parseInt的简单JS函数,返回NaN
- 简单闭包与具有嵌套函数返回的闭包
- 返回对象数组的逗号分隔值的简单方法
- 返回未定义的javascript简单测试
- 简单的转换练习,方法不会返回正确的值
- 用html javascript创建一个简单的成本估算器.从HTML按钮调用JS函数.返回JS中的值