javascript - 有没有办法在侧抽屉中安装功能?
问题描述
我正在尝试使用安装在抽屉内容.vue 中的函数来调用该函数,但它不起作用。
我尝试了像创建函数这样的普通方法,并在页面加载时调用它。
为了便于理解,我上传了完整的代码。
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 没有调用,我设置了警报以检查但没有成功。
解决方案
好的,所以你必须将方法的声明移到顶部,然后你可以在你的方法中调用 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
}
推荐阅读
- html - 使用 CSS 使一列中的文本变为斜体
- reactjs - 反应中的悬停效果
- javascript - 使用 selenium 进行网页抓取时无法访问 div 内容
- ruby-on-rails - 在 Github Actions 上运行系统测试
- gcc - 如何在 FreeBSD 的内联汇编中调用 gettimeofday 系统调用?
- batch-file - 将最新文件夹中的最新文件上传到 FTP 服务器
- html - 悬停后按钮css文本消失
- sql - 用于 JOINed 表的 PostgreSQL UNIQUE
- python - 鉴于此模型是较早的腌制模型,如何使用 XGBoost 正确加载 .pkl 模型?
- macos - 我是否需要安装虚拟机才能在 Mac 上使用 PowerShell?