Vue. js - Инициализировать переменную при загрузке страницы - PullRequest
0 голосов
/ 21 июня 2020

В настоящее время я разрабатываю веб-приложение с использованием Vue. js и JavaScript, и сейчас я собираю файлы. js для повышения производительности. Перед объединением файлов. js у меня был отдельный файл. js для каждой страницы stati c html. В каждом файле. js есть метод с именем initialise (), который вызывается в обработчике created, который вызывает другие методы инициализации, которые инициализируют соответствующие переменные. Но теперь, когда я объединил файлы. js, мне нужен какой-то способ вызова только методов инициализации, относящихся к текущей странице.

Один из способов, который я пытался сделать, - это у меня есть метод initialise () вроде этого:

initialise: function() {
    if (this.currentPage=="profile") {
        this.getNightmode();
        this.getProfile();
        this.getTaskTypes();
    } else if (this.currentPage=="postRegistration") {
        this.getSignUpMethod();
        this.getAccountType();
        this.getTaskTypes();
    }
}

И переменная vue с именем currentPage, которую я пытаюсь инициализировать при загрузке страницы, в теге html body, например, <body v-on:load="currentPage='profile'">

v-on:load, однако, похоже, не работает. Есть ли способ инициализировать переменную vue в соответствии с текущей страницей?

1 Ответ

0 голосов
/ 22 июня 2020

Я понял. Используя созданный хук, я также инициализировал 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();
    }
}

И это вызывает правильные методы инициализации в соответствии со страницей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...