Javascript 如何延迟聚合物绑定?
所以,一个前言-我来自使用角度。在英语中,你倾向于使用很多承诺。显然,Polymer不会阻止您使用外部promise库,但它显然是围绕经典事件触发/回调构建的。所以,我本质上是在试图找到一种方法,仅在元素的包装元素达到某个条件时才在元素中运行逻辑 我有一个名为Secure Page的元素。此元素可以操纵外部会话对象来告诉它用户是否已登录,如果用户到达时未登录,则执行登录对话框功能。如果用户试图在不登录的情况下访问客户端上的页面,则创建此元素是为了在客户端对这些页面进行检查。基本上,它只是防止发送一堆失败的ajax请求。。。理论上 在实践中,我找不到一种简单的方法让它阻止包装的元素加载/触发。我认为使用条件绑定模板是可行的,但是无论模板是否呈现,似乎都会调用Javascript 如何延迟聚合物绑定?,javascript,polymer,Javascript,Polymer,所以,一个前言-我来自使用角度。在英语中,你倾向于使用很多承诺。显然,Polymer不会阻止您使用外部promise库,但它显然是围绕经典事件触发/回调构建的。所以,我本质上是在试图找到一种方法,仅在元素的包装元素达到某个条件时才在元素中运行逻辑 我有一个名为Secure Page的元素。此元素可以操纵外部会话对象来告诉它用户是否已登录,如果用户到达时未登录,则执行登录对话框功能。如果用户试图在不登录的情况下访问客户端上的页面,则创建此元素是为了在客户端对这些页面进行检查。基本上,它只是防止发送
ready
、attached
和etc回调
示例代码:
// in secure-page.html
<template if="{{session.UserId && session.token}}">
<content>
</content>
</template>
// in my-account.html
<ac-crud id="http"
session="{{session}}"
endpoint="http://localhost:3000/api/v1/users"
on-get-complete="{{updateData}}"
on-put-complete="{{handleSuccess}}"
></ac-crud>
....
<script>
Polymer('my-account', {
// even if I try any of the other callbacks all of them
// are called even if the element is not rendered
ready: function() {
this.$.http.get({ params: { id: this.session.UserId } });
}
//在secure-page.html中
//在my-account.html中
....
“我的账户”{
//即使我尝试任何其他回调,所有这些
//即使未呈现元素,也会调用
就绪:函数(){
this.$.http.get({params:{id:this.session.UserId}});
}
。。。
我没有包括整个脚本文件,但我认为其余的都不相关
TLDR:我想我需要一个类似于ready的回调,它是在元素的模板实际绑定时触发的(假设我正确地认为所谓的“条件绑定”模板在满足条件之前实际上不会绑定)