我目前正在使用Vue.js和JavaScript开发一个Webapp,并且出于性能原因,我正在整合.js文件。在合并.js文件之前,我为每个静态html页面都有一个单独的.js文件。在每个.js文件中,都有一个名为initialise()的方法,该方法在创建的钩子上调用,该钩子调用其他初始化相关变量的初始化方法。但是,既然我已经合并了.js文件,我就需要一种只调用与当前页面相关的初始化方法的方法。
我尝试执行此操作的一种方法是使我的initialize()方法如下:
initialise: function() {
if (this.currentPage=="profile") {
this.getNightmode();
this.getProfile();
this.getTaskTypes();
} else if (this.currentPage=="postRegistration") {
this.getSignUpMethod();
this.getAccountType();
this.getTaskTypes();
}
}
还有一个名为currentPage
的vue变量,我试图在页面加载时在html body标签中初始化,例如<body v-on:load="currentPage='profile'">
v-on:load
似乎不起作用。有什么方法可以根据当前页面初始化vue变量吗?
答案 0 :(得分:0)
我知道了。使用创建的挂钩,我还使用currentPage
初始化了window.location.pathname
,这初始化了currentPage
当前的URL路径名。我的初始化方法现在看起来像
initialise: function() {
if (this.currentPage=="/profile.html") {
this.getNightmode();
this.getProfile();
this.getTaskTypes();
} else if (this.currentPage=="/post_registration.html") {
this.getSignUpMethod();
this.getAccountType();
this.getTaskTypes();
}
}
这会根据页面调用正确的初始化方法。