【问题标题】:Laravel + Vue 2 how to run certain functions on different pagesLaravel + Vue 2 如何在不同页面上运行某些功能
【发布时间】:2018-03-21 13:13:39
【问题描述】:

我很困惑,我有函数getUsers() 和getCategories()(例如)来检索他们各自页面中的所有用户和类别/admin/users 和/admin/categories。

我有一个表格,我在其中加载用户,而在另一个页面中,我有另一个表格来加载类别。

有人告诉我在 created 钩子中使用它们,例如:

created: function() {
    this.getUsers();
    this.getCategories();
}

但这会导致这些函数加载在同一页面中,我认为这是不必要的(也许当我有 100 万条记录时)。

所以我认为我需要在/admin/users 上运行this.getUsers(),在/admin/categories 上运行this.getCategories()。

注意:我没有使用 Vue-Router。相反,我使用的是 Laravel 路由

我该怎么办?

【问题讨论】:

  • 不使用路由器如何管理路由?
  • @connexo,作为指定标签,我使用的是Laravel Routing。
  • 但那是服务器端的,不是吗?我曾经认为 Vue.js 是一个 SPA 框架。
  • 根据Vue.js Documentation,这不仅仅是SPA。

标签: javascript laravel vue.js vuejs2 laravel-routing


【解决方案1】:
created: function() {
    var path = window.location.pathname;
    if(path === '/admin/users')
        this.getUsers();
    else if(path === '/admin/categories')
        this.getCategories();
}

【讨论】:

  • 这像约定吗?喜欢在所有项目中应该使用什么?
  • 什么意思?
  • 我的意思是,如果您通常在设计 Web 应用程序时使用您在此处编写的内容。
  • 嗯没有。通常的做法是使用 vue-router。但是你的路由是基于你的 laravel 后端的,所以你只能通过 JS 中的window.location 获取路由信息。我不知道 laravel 所以我不知道在 laravel 中使用 vue 时的最佳做法是什么
  • 我应该改变它。 Laravel 自带 Vue.js 作为默认的 JS 框架。
猜你喜欢
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
  • 2019-06-14
  • 2017-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-24
相关资源
最近更新 更多