为什么我的 属性 不会反映 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 上使用观察者=]