如何在Polymer 1.0中将值从一个自定义元素传播到另一个自定义元素?

时间:2015-07-21 23:01:24

标签: javascript html web-component polymer-1.0

我有两个自定义元素。 student-details.html和student-service.html

student-details.html看起来像这样



<link rel="import" href="../bower_components/polymer/polymer.html">
<link rel="import" href="student-service.html">
<dom-module id="student-details">
<style>
</style>
<template>
	<h1>Student Details</h1>
<h1>{{studentId}}<h1> //This value is printed properly
	<student-service   user-data={{studentId}} service-name="StudentDetails"  response-data={{responseData}} ></student-service>



    	<h1>{{responseData.name}}</h1>
    	<img width="70" height="70" src="{{responseData.image}}" />
    	<h1>{{responseData.qualification}}</h1>

    	<h1>{{responseData.speciality}}</h1>
    	<h1>{{responseData.phone}}</h1>

    	<h1>{{responseData.email}}</h1>

    	<template is="dom-repeat" items="{{responseData.addresses}}">
    	<h1>{{item.street}}</h1>
    	<h1>{{item.area}}</h1>
    	</template>

</template>
<script>
Polymer({
is:'student-details',
properties:{
	studentId: String,
	notify: true
}

});

</script>
</dom-module>
&#13;
&#13;
&#13;

student-service将输入作为studentId输入,并在responseData中返回响应。

如果我使用{{studentId}}访问student-details.html中的值studentId,则显示,但我无法将相同的值发送到student-service元素中的用户数据输入。

注意:如果我对studentId进行硬编码,则效果很好。 我想我没有遵循传递价值的正确方法。请建议

4 个答案:

答案 0 :(得分:0)

随意使用iron-ajax

Using polymer ajax response

https://elements.polymer-project.org/elements/iron-ajax

我希望你能提供帮助。

答案 1 :(得分:0)

您错过了{{studentId}}

周围的引号

尝试:

<student-service user-data="{{studentId}}" service-name="StudentDetails"  response-data="{{responseData}}"></student-service>

答案 2 :(得分:0)

您可以尝试使用与this post类似的<student-service user-data$="{{studentId}}"

答案 3 :(得分:0)

代码看起来不错。很可能是在设置studentId之前调用了学生服务。

尝试查看代码流并确保仅在设置studentId后调用该服务。