VueJS - Vue 未定义

2024-01-10

我挑战自己编写一个应用程序,从 API 获取数据并将其显示在各种组件中。我对 VueJS 还很陌生。我使用 VueResource 来访问 API,使用 VueX 来进行状态管理。 我已经设置了我的商店,我添加了操作、突变和吸气剂等,一旦我添加created我的组件中的生命周期方法出现错误:

ReferenceError: Vue is not defined
    at Store.eval (eval at <anonymous> (build.js:1017), <anonymous>:11:3)
    at Array.wrappedActionHandler (eval at <anonymous> (build.js:1338), <anonymous>:711:23)
    at Store.dispatch (eval at <anonymous> (build.js:1338), <anonymous>:433:15)
    ...

我的代码如下所示:

main.js

import Vue from 'vue'
import App from './App.vue'
import VueResource from 'vue-resource'
import store from './store/store'

Vue.use(VueResource);

new Vue({
  el: '#app',
  store,
  render: h => h(App)
})

store.js

import Vue from 'vue'
import Vuex from 'vuex'
import actions from './actions'
import mutations from './mutations'
import getters from './getters'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    products: []
  },
  getters,
  actions,
  mutations
})

export default store

App.vue

<template>
   ...
</template>

<script>
    import { FETCH_MEALS } from './store/types';

    export default {
      //load meals on page load
      created() {
        this.$store.dispatch(FETCH_MEALS)
      },
      computed: {
        meals() {
          return this.$store.getters.meals
        },
        salads() {
          return this.$store.getters.salads
        },
        lunches() {
          return this.$store.getters.lunches
        },
        starters() {
          return this.$store.getters.starters
        }
      }
    }
</script>

我被困住了,我不知道我做错了什么。你有什么想法?

UPDATE

我使用 vue-cli 生成的典型样板并使用 Webpack 构建 main.js。

动作.js

import { API_ROOT } from '../config'
import * as types from './types';

export default {
  [types.FETCH_MEALS]: ({commit}) => {
    Vue.http.get(API_ROOT + '/meals.json')
    .then(response => response.data)
    .then(meals => {
      commit(types.SET_MEALS, meals)
    })
  }
};

突变.js

import * as types from './types';

export default {
    [types.MUTATE_UPDATE_VALUE]: (state, payload) => {
        state.value = payload;
    }
};

getters.js

import * as types from './types';

export default {
    [types.VALUE]: state => {
        return state.value;
    }
};

我的猜测是你使用Vue (like Vue.set())内未列出actions.js, mutations.js or getters.js,但忘记添加:

import Vue from 'vue'

在该文件的开头。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VueJS - Vue 未定义 的相关文章

随机推荐

  • 为 AWS 设置“Stackdriver Kubernetes 监控”

    Google Cloud Platform 在 Kubecon 2018 上宣布了 Stackdriver Kubernetes Monitoring 看起来棒极了 我是一名运行着几个 Kubernetes 集群的 AWS 用户 我立即羡慕
  • 使用HMS Toolkit添加HMS和GMS时找不到com.huawei.hms:hwid:5.3.0.301 &推送套件

    我正在尝试将 HMS 添加到我们的 GMS 第一个应用程序中 这是一个庞大的应用程序 因此我们决定尝试 HMS Toolkit 转换软件 该工具包添加了必要的依赖项和模块 并在需要时进行了适当的替换 但是当我尝试构建我们的应用程序时 我收到
  • 异常:类型错误:无法设置未定义的属性“消息”

    在升级旧的 Angular 2 项目的许多依赖项后 我在运行时收到以下错误 EXCEPTION TypeError Cannot set property message of undefined ErrorHandler handleEr
  • gSoap EWS“错误 500:内部服务器错误”

    我在使用 ews gSoap 时遇到一些问题 我有下一个代码 ExchangeServiceBindingProxy proxy new ExchangeServiceBindingProxy endpoint c str soap pSo
  • 如何使用 Spark 数据框评估 Spark Dstream 对象

    我正在编写一个 Spark 应用程序 我需要根据历史数据评估流数据 这些数据位于 SQL Server 数据库中 现在的想法是 spark 将从数据库中获取历史数据并将其保存在内存中 并根据它评估流数据 现在我得到的流数据为 import
  • 如何在R中动态插入带有模式的列?

    这是一个跟进问题 https stackoverflow com questions 73938635 rename a column based on the original columns name r 73938710 noredi
  • 有没有办法在浏览器中编译代码(C/C++)?

    这个问题可能听起来很疯狂 有没有基于浏览器的编译器 本地客户端 https developer chrome com native client是一个沙箱 用于在浏览器中高效运行已编译的 C 和 C 代码 你可以探索这个
  • ReactJS:来自 State 的动态复选框

    我有一个动态元素的集合 所以我事先不知道该集合的内容是什么 我想动态渲染这些复选框 并默认将它们全部选中 您应该能够取消选中这些框 这会在渲染中触发另一个地图功能 所以基本上这是我的过滤器 我在国家设置上苦苦挣扎 我正在考虑以下内容 我想通
  • “此应用程序正在从后台线程修改自动布局引擎”

    我遇到以下错误 此应用程序正在从后台线程修改自动布局引擎 这可能会导致引擎损坏和奇怪的崩溃 每当我尝试将图像视图加载到表视图中时 相关代码如下 override func tableView tableView UITableView ce
  • 在 Gnuplot 中自定义颜色范围

    我有一个运行良好的等值线图 它为不同的值生成等量的颜色 我想要的是在右侧生成标签 以便为每个块提供正确的颜色 当前结果 我想要的是每个块都有这个值 300 100 70 30 10 1 0 编辑 当我添加这段代码时 set cbtics 3
  • 在 C++ 中使用 new 分配大于 2GB 的单个对象(在 Windows 上)

    我使用的是 Windows x64 模式 在 Visual Studio 上使用 MSVC 编译 这new当我这样做时 运算符似乎没有按预期工作 char buf new char 1LLU lt lt 32 但是如果我传入一个变量而不是直
  • 如何在两个PHP文件之间传递变量?

    我在名为 one php 的文件中有以下代码 a href two php Click here for 1 a a href two php Click here for 2 a 现在 当我单击锚标记链接之一时 它会将我带到two php
  • 如何在颤振中在屏幕中央创建标签栏?

    我正在尝试使用 flutter 在屏幕中心创建一个选项卡栏 同时尝试在列中给出 TabBarView 但我陷入了这个错误 请解决这个问题 I flutter 3983 EXCEPTION CAUGHT BY RENDERING LIBRAR
  • 是否可以像 Matlab 一样在 IPython 中显示对象实例变量?

    我正在尝试从 Matlab 转向 Python 而魔法 IPython 很好 Matlab 的一个非常好的功能是您可以在命令行上 通过省略 看到相关对象的实例变量 在 Matlab 中称为属性 这在 python 中可能吗 我猜是通过 IP
  • firebase实时数据库分片规则

    2019 11 03 更新 添加了错误的实时最小再现 https shardautherror firebaseapp com 在 Chrome 中加载链接后 按 ctrl shift i 并选择控制台以查看输出 我已尽力确保这完全符合我原
  • 警告:列表中的每个子项都应该有一个唯一的“key”道具,即使它有唯一的 key React

    所以我想渲染数组 但它一直说 警告 列表中的每个子项都应该有一个唯一的 key 道具 即使它有唯一的键 我的数组包含三个元素 它甚至不能正确渲染第三个数组 由于某种原因 该按钮甚至无法在第三里工作 import React useEffec
  • 超级能力:仅当字符串以行开头时才将其与分词器匹配

    在超级能力中进行标记时 仅当字符串是一行中的第一件事时 如何匹配字符串 注意 这是一个与this one https stackoverflow com questions 52706549 superpower match a strin
  • 如何使用php访问Oracle APEX的数据库?

    我刚刚发现PHP and APEX互相对比 我想做的是操纵Oracle数据库使用PHP代替APEX 我想要这样做的主要原因是免费使用 Oracle 数据库 作为初学者 您可能会发现这很有用 http php net manual en fu
  • 相对布局忽略 setMargin()

    我正在尝试嵌套一个RelativeLayout里面的一个LinearLayout 并给出RelativeLayout将其边缘与边缘的边缘隔开的边距LinearLayout 到目前为止我有这个 LayoutInflater from cont
  • VueJS - Vue 未定义

    我挑战自己编写一个应用程序 从 API 获取数据并将其显示在各种组件中 我对 VueJS 还很陌生 我使用 VueResource 来访问 API 使用 VueX 来进行状态管理 我已经设置了我的商店 我添加了操作 突变和吸气剂等 一旦我添