首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从2.0RC中的组件访问vue-resource的$http方法

无法从2.0RC中的组件访问vue-resource的$http方法
EN

Stack Overflow用户
提问于 2016-08-15 17:01:47
回答 1查看 998关注 0票数 1

我很难让vue-resource在2.0RC的.vue组件中工作。它在1.x中运行良好,但是现在在从组件方法中访问$http时,似乎缺少了this方法。

我正在使用webpack,我的app.es6文件如下所示:

代码语言:javascript
复制
import Vue from 'vue/dist/vue.js'
import VueRouter from 'vue-router'
import VueResource from 'vue-resource'
import Login from './Login.vue'

Vue.use(VueResource);
Vue.use(VueRouter);

const router = new VueRouter({
    mode: 'history',
    base: __dirname,
    routes: [
        { path: '/login', component: Login }
    ]
})

const App = new Vue({
    router: router,
    el: "#vue-app",
    template: '<div><router-view></router-view></div>',
    created: function(){
        console.log('data this: ', this.$http()) //this $http.get() works
    }

})

我的Login.vue看起来像:

代码语言:javascript
复制
<template>
    <div>
        <h2>Log In</h2>
        <button class="btn btn-primary" @click="submit()">Access</button>
    </div>
</template>
<script type="text/ecmascript-6">
    export default {
        methods: {
            submit: function () {
                console.log('Login this.$http()', this.$http.get) //this $http.get() does not work
            }
        }
    }
</script>

一些理论是:

  1. 2.0以某种方式破坏了一些东西,但是vue资源文档还没有更新。
  2. 这与将版本1中的Vue.extend(...) and Vue.start(...)转换为我现在使用的new Vue()语法有关。
  3. 我需要使用新的vue-router语法做一些不同的事情。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-08-24 09:07:13

我得到了一个在Vue帮助论坛上回答。这个问题之所以出现,是因为我使用的是Vue的独立版本,但在Webpack中并没有对其进行完全的别名,因此Webpack加载了两个不同的版本。

用户LinusBorg回答道:

您需要独立构建,但是webpack也在加载运行时专用构建,因此您最终在项目中得到了两个版本的Vue --一个有vue资源,另一个没有。 如果要保持独立构建,必须在webpack配置中添加一个别名:vue: 'vue/dist/vue'

万一其他人有这个问题,并且和我一样被webpack弄糊涂了,那就稍微明确一点:

Webpack正在加载两个不同版本的vue.js,一个来自我的文件中的import语句,一个来自webpack *.vue模块加载器。我修复的确切方法是将以下内容添加到我的webpack-config.js

代码语言:javascript
复制
resolve: {
    alias: {vue: 'vue/dist/vue.js'}
},

在我的app.es6文件中,我还必须将导入Vue从'vue/dist/vue.js'更改为从'vue'导入Vue。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38959538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档