Nativescript: динамическое изменение содержимого Sidedrawer с помощью Vuejs - PullRequest
0 голосов
/ 23 октября 2019

Я на самом деле пытаюсь заполнить данные, такие как фотография профиля, имя, адрес электронной почты и т. Д. В ящике после успешного входа в систему. Когда я перехожу с логина на домашнюю страницу, смонтированный ящик не вызывает там, но если я каким-то образом вызываю метод выдвижения данных в выдвижном ящике (у меня есть функция, которая подает данные при монтировании) Как создание кнопки в выдвижном ящике и нажатие кнопки (вызовв feedData ()) он вызывает feeddata, а затем данные обновляются. Но я не обновляю данные, когда они достигают домашней страницы.

Я установил боковой ящик для непосредственного запуска tns create и выбрал with-sidedrawer. так что это может быть глобально.

Это файл DrawerContent.vue

export default {
        data () {
            return {
                Home: Home,
                Browse: Browse,
                Featured: Featured,
                Search: Search,
                Login: Login,
                Settings: Settings,
                selectedPage: "",
                userName: "",
                userEmail: ""
            };
        },
        components: {
            Home,
            Browse,
            Featured,
            Search,
            Login,
            Settings
        },
        mounted() {
            SelectedPageService.getInstance().selectedPage$
                .subscribe((selectedPage) => this.selectedPage = selectedPage);
            this.feedData();
            console.log("--------->data Feeded from mounted--"+this.userName+"---"+this.userEmail);
        },
        methods: {
            onNavigationItemTap(component) {
                this.$navigateTo(component, {
                    clearHistory: true
                });
                utils.closeDrawer();
            },
            feedData(){
                this.userName = appSettings.getString("user_display_name")
                this.userEmail = appSettings.getString("user_email")
                console.log("feedData is called")
            },
            created() {
                this.userName = appSettings.getString("user_display_name")
                this.userEmail = appSettings.getString("user_email")
            },
            logoutUser(){
                appSettings.clear();
                appSettings.remove("user_display_name");
                appSettings.remove("user_email");
                this.userName = "";
                this.userEmail = "";
                if(appSettings.getString("user_email") == null || appSettings.getString("user_email") == ''){
                    alert("user email id removed");
                }
                if(appSettings.getString("user_display_name") == null || appSettings.getString("user_display_name") == ''){
                    alert("user name removed");
                }
                utils.closeDrawer();
                this.$navigateTo(Login, {
                    clearHistory: true
                });                
            }
        }
    };
...