为什么我的 属性 不会反映 iron-localstorage 值?
Why my property won't reflect iron-localstorage value?
我有一个登录系统,我需要将登录用户保存在本地存储上,一旦用户登录,我想在他访问登录页面时将他重定向到他自己的页面。
我的模板:
<iron-localstorage name="user-storage" value="{{storedUser}}"></iron-localstorage>
我的对象:
static get properties() {
return {
storedUser: {
type: Object,
notify: true
},
...
}
}
我想这样做:
redirect() {
console.log(this.storedUser);
if(this.storedUser) {
// Redirect user or admin to their own homescreen
if(this.storedUser.role == 'user')
this.set('route.path', '/homescreen-usuario');
else if(this.storedUser.role == 'admin')
this.set('route.path', '/homescreen-admin');
else
this.set('route.path', '/my-view404');
}
}
但第一行总是记录 "undefined"。
您应该使用 'on-iron-localstorage-load-empty' 和 'on-iron-localstorage-load' 事件对存储事件做出反应,或者您可以在 'storedUser' 属性.[=10 上使用观察者=]
我有一个登录系统,我需要将登录用户保存在本地存储上,一旦用户登录,我想在他访问登录页面时将他重定向到他自己的页面。
我的模板:
<iron-localstorage name="user-storage" value="{{storedUser}}"></iron-localstorage>
我的对象:
static get properties() {
return {
storedUser: {
type: Object,
notify: true
},
...
}
}
我想这样做:
redirect() {
console.log(this.storedUser);
if(this.storedUser) {
// Redirect user or admin to their own homescreen
if(this.storedUser.role == 'user')
this.set('route.path', '/homescreen-usuario');
else if(this.storedUser.role == 'admin')
this.set('route.path', '/homescreen-admin');
else
this.set('route.path', '/my-view404');
}
}
但第一行总是记录 "undefined"。
您应该使用 'on-iron-localstorage-load-empty' 和 'on-iron-localstorage-load' 事件对存储事件做出反应,或者您可以在 'storedUser' 属性.[=10 上使用观察者=]