Polymer 如何构造聚合物水疗中心?
我是聚合物1.0的新手 我理解“一切都是元素”的哲学,但是,到什么程度? 如何将所有这些元素组合在一起 TL;DR:一般来说,聚合物和网络组件是否有与main()函数等价的函数?如果是,它应该在哪里,应该做什么 我通常会查看示例、演示和项目,以了解它应该如何工作,但由于聚合物是如此新(尤其是v1.0),我很难找到不平凡的示例 长版本 我知道如何使用聚合物来创造元素。 但当我想与他们接口时,我遇到了障碍。我应该使用什么结构使组件在它们之间进行通信 从一个角度来看,我对应该去哪里有一个相对精确的看法。 例如:数据包含在可以从控制器、指令和html元素访问的范围内,您可以使用服务从应用程序的不同部分提取数据 在聚合物中,我不知道数据的边界在哪里。 不是在组件内部,而是在组件外部,组件所在的位置以及其他组件是否可以访问它。 一幅简单的画对我很有帮助。聚合物文档中没有解释这类事情,可能是因为它比聚合物更广泛 为了让大家了解我的问题,我遇到了以下几点:Polymer 如何构造聚合物水疗中心?,polymer,web-component,Polymer,Web Component,我是聚合物1.0的新手 我理解“一切都是元素”的哲学,但是,到什么程度? 如何将所有这些元素组合在一起 TL;DR:一般来说,聚合物和网络组件是否有与main()函数等价的函数?如果是,它应该在哪里,应该做什么 我通常会查看示例、演示和项目,以了解它应该如何工作,但由于聚合物是如此新(尤其是v1.0),我很难找到不平凡的示例 长版本 我知道如何使用聚合物来创造元素。 但当我想与他们接口时,我遇到了障碍。我应该使用什么结构使组件在它们之间进行通信 从一个角度来看,我对应该去哪里有一个相对精确的看法
:
使用facebook登录
注销
聚合物({
是:'我的登录',
特性:{
successRedirect:字符串
},
_errorHandler:函数(e){
控制台日志(如详细信息);
},
_loginHandler:函数(e){
if(this.successRedirect){
//如何让pagejs重定向我?
app.route=this.successRedirect;
}
}
});
谢谢简短回答:活动听众。在路由器上放置一个事件侦听器。让登录处理程序在路由器上触发事件。路由器将拾取该事件,然后重定向
...
_loginHandler: function(e){
if(this.successRedirect){
// How can I tell pagejs to redirect me ?
var router = document.querySelector('router');
router.dispatchEvent(new Event('redirect', {redirectURL: this.successRedirect});
app.route = this.successRedirect;
}
}
...
然后在路由器中:
connectedCallback() {
this.addEventListener('redirect', function(event) {
var url = event.redirectURL;
// Redirect using the router's API.
});
}
我写了一篇关于使用聚合物建造水疗中心的广泛文章:。它基于0.5元素,但其思想和结构是通用的。感谢@ebidel,这是我一直在寻找的文章。不过,将其移植到Polymer 1.0会有所帮助,因为有很多不兼容的更改。我也理解“少写javascript”这件事。但有时你不得不在组件之间加入一些逻辑。我还不太清楚这个逻辑属于哪里。
connectedCallback() {
this.addEventListener('redirect', function(event) {
var url = event.redirectURL;
// Redirect using the router's API.
});
}