2015-07-21 80 views
1

我有兩個自定義元素。學生details.html和學生service.html如何在Polymer 1.0中將值從一個自定義元素傳播到另一個自定義元素?

學生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> 
 
\t <h1>Student Details</h1> 
 
<h1>{{studentId}}<h1> //This value is printed properly 
 
\t <student-service user-data={{studentId}} service-name="StudentDetails" response-data={{responseData}} ></student-service> 
 

 

 

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

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

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

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

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

 
}); 
 

 
</script> 
 
</dom-module>

學生服務需要輸入作爲studentId並返回responseData響應。

如果我使用{{studentId}}訪問student-details.html中的值studentId,它會顯示,但我無法將相同的值發送到student-service元素中的用戶數據輸入。

注意:如果我硬編碼studentId,它運作良好。 我認爲我沒有遵循傳遞價值的正確方式。請建議

回答

0

該代碼看起來不錯。很可能是在studentId設置之前調用學生服務。

試着看看你的代碼的流程,並確保服務只在studentId設置後調用。

+0

你是對的,我在studentId被設置之前打電話給服務。 – RosAng

0

你錯過了周圍{{studentId}}

嘗試報價:

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

您可以嘗試使用<student-service user-data$="{{studentId}}"類似this post

相關問題