Javascript 有没有办法在sidedrawer中安装函数?
我试图使用mounted in-drawercontent.vue调用该函数,但它不起作用 我尝试了正常的方法,比如创建函数,并在页面加载时使用mounted调用它 为了便于理解,我上传了我的完整代码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
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模块就可以做到这一点。在游戏环境中很难实现,因为有很多错误