在Polymer应用程序中,在core-scroll-header-panel中有一个聊天列表,在那里我可以看到与朋友的所有对话框。 我想加载其中一个点击聊天窗口。我还想在加载对话框时传递参数(friend_id)。这样做的正确方法是什么?使用core-ajax还是某些路由器?什么是正确的称呼方式?
聊天list.html:
<core-ajax auto url="http://example.org/app/chat_list" params='{"user_id":"{{userid}}"}' handleAs="json" response="{{response}}"> </core-ajax>
<template repeat="{{chat in response.chat_list}}">
<paper-item on-click="{{openChat}}">
<img src="http://example.org/photo/{{chat.friend_photo}}.jpg" />
{{chat.friend_name}}
</paper-item>
</template>
</template>
<link href="../styles.css" rel="stylesheet" >
<script>
Polymer({
response: null,
openChat: function(){
document.querySelector('#t').route = "chat";
}
});
</script>
答案 0 :(得分:1)
如果您正在使用单页应用,最好使用路由器执行此操作。聊天窗口可能是您在未激活时隐藏的元素。当有人点击列表中的朋友时,它可以请求路由:example.com/chat/{friend_id}
,路由器可以将好友ID传递给窗口元素,然后显示窗口元素。
我个人喜欢使用page.js
路由器,我在an episode of Polycasts中介绍了它。希望有所帮助。