Vue.js-在页面加载时初始化变量

时间:2020-06-21 14:07:02

标签: javascript html vue.js

我目前正在使用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变量吗?

1 个答案:

答案 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();
    }
}

这会根据页面调用正确的初始化方法。