首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法把功能安装在抽屉里?

有没有办法把功能安装在抽屉里?
EN

Stack Overflow用户
提问于 2019-10-17 14:18:16
回答 1查看 56关注 0票数 0

我试图在drawercontent.vue中使用挂载来调用该函数,但它不起作用。

我尝试了普通的方法,比如创建函数,并在页面加载时使用mounted调用它。

我已经上传了我的完整代码,因为易于理解。

代码语言:javascript
复制
import Home from "./Home";
    import Browse from "./Browse";
    import Featured from "./Featured";
    import Search from "./Search";
    import Login from "./Login";
    import Settings from "./Settings";
    import * as utils from "~/shared/utils";
    import SelectedPageService from "~/shared/selected-page-service";   
    import * as appSettings from "tns-core-modules/application-settings"; 

    let methods = {
        onNavigationItemTap: (component) => {
            this.$navigateTo(component, {
                clearHistory: true
            });
            utils.closeDrawer();
        },
        feedData: () => {
            obj.userName = appSettings.getString("user_display_name")
            obj.userEmail = appSettings.getString("user_email")
            alert("data feeded")
        },
        logoutUser: () => {
            appSettings.clear();
            appSettings.remove("user_display_name");
            appSettings.remove("user_email");
            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
            });                
        }
    }

    let obj = {
        mounted: () => {
            SelectedPageService.getInstance().selectedPage$
                .subscribe((selectedPage) => this.selectedPage = selectedPage);
            methods.feedData();
            alert("data Feeded");
        },
        data: () => {
            return {
                Home: Home,
                Browse: Browse,
                Featured: Featured,
                Search: Search,
                Login: Login,
                Settings: Settings,
                selectedPage: "",
                userName:"",
                userEmail:""
            };
        },
        components: {
            Home,
            Browse,
            Featured,
            Search,
            Login,
            Settings
        },
        methods
    }

    export default {
        methods,
        obj
    }
</script>

feeddata未调用,我已设置警报进行检查,但未成功。

EN

回答 1

Stack Overflow用户

发布于 2019-10-17 15:27:51

好的,所以你必须将方法的声明移到顶部,然后你可以在你的方法中调用feedData:

代码语言:javascript
复制
let methods = {
    onNavigationItemTap: (component) => {
        this.$navigateTo(component, {
            clearHistory: true
        });
        utils.closeDrawer();
    },
    feedData: () => {
        this.userName = appSettings.getString("user_display_name");
        this.userEmail = appSettings.getString("user_email");
    }
};

let obj = {
    mounted: () => {
        SelectedPageService.getInstance().selectedPage$
            .subscribe((selectedPage) => this.selectedPage = selectedPage);
        methods.feedData();
        alert("datta Feeded");
    },
    data: () => {
        return {
            userName: "",
            userEmail: ""
        };
    },
    methods

};

export default {
    methods,
    obj
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58426090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档