Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法在sidedrawer中安装函数?_Javascript_Vue.js_Nativescript - Fatal编程技术网

Javascript 有没有办法在sidedrawer中安装函数?

Javascript 有没有办法在sidedrawer中安装函数?,javascript,vue.js,nativescript,Javascript,Vue.js,Nativescript,我试图使用mounted in-drawercontent.vue调用该函数,但它不起作用 我尝试了正常的方法,比如创建函数,并在页面加载时使用mounted调用它 为了便于理解,我上传了我的完整代码 import Home from "./Home"; import Browse from "./Browse"; import Featured from "./Featured"; import Search from "./Search"; import Lo

我试图使用mounted in-drawercontent.vue调用该函数,但它不起作用

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

为了便于理解,我上传了我的完整代码

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>
从“/Home”导入主页;
从“/Browse”导入浏览;
从“/Featured”导入特色内容;
从“/Search”导入搜索;
从“/Login”导入登录名;
从“/Settings”导入设置;
从“~/shared/utils”导入*作为utils;
从“~/shared/selected page service”导入SelectedPage service;
从“tns核心模块/应用程序设置”导入*作为应用程序设置;
let方法={
onNavigationItemTap:(组件)=>{
这是$navigateTo(组件{
clearHistory:真的
});
utils.closeDrawer();
},
feedData:()=>{
obj.userName=appSettings.getString(“用户显示名称”)
obj.userEmail=appSettings.getString(“用户电子邮件”)
警报(“数据反馈”)
},
注销用户:()=>{
appSettings.clear();
appSettings.remove(“用户显示名称”);
appSettings.remove(“用户电子邮件”);
if(appSettings.getString(“用户电子邮件”)==null | | appSettings.getString(“用户电子邮件”)==“”){
警报(“用户电子邮件id已删除”);
}
if(appSettings.getString(“user_display_name”)==null || appSettings.getString(“user_display_name”)==“”){
警报(“删除用户名”);
}
utils.closeDrawer();
此.$navigateTo(登录{
clearHistory:真的
});                
}
}
设obj={
挂载:()=>{
SelectedPageService.getInstance().selectedPage$
.subscribe((selectedPage)=>this.selectedPage=selectedPage);
方法:feedData();
警报(“数据反馈”);
},
数据:()=>{
返回{
家:家,
浏览:浏览,
特色:特色,
搜索:搜索,
登录:登录,
设置:设置,
所选页面:“”,
用户名:“”,
用户电子邮件:“
};
},
组成部分:{
家,
浏览,
作为特色的,
搜索,
登录,
设置
},
方法
}
导出默认值{
方法,
obj
}

feeddata没有调用,我已将alert设置为check,但没有成功。

好的,因此必须将方法声明移到顶部,然后才能在方法内部调用feeddata:

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
}

如何调用feedData()?你能把密码贴在你的问题上吗?我从mountedI编辑我的答案。检查这是否是一个可能的解决方案。告诉我如何调用mounted方法。请给我更多信息。导航页面不起作用,数据源也不起作用(编辑我的问题,添加完整的代码页)我想挂载方法自动调用,所以我没有调用它。你可以共享一个游乐场示例,在那里可以重现问题。不,我不能。代码已经进入了一个非常复杂的状态,我不知道如何在Playground中添加节点模块。我要了一个示例项目,只是足够的代码重现问题,而不是整个项目。也许你不需要添加任何npm模块就可以做到这一点。在游戏环境中很难实现,因为有很多错误