gpt4 book ai didi

laravel - 使用 vue-resource 进行 Vueify

转载 作者:搜寻专家 更新时间:2023-10-30 22:19:12 26 4
gpt4 key购买 nike

我似乎无法让 vue-resource 与 vueify 一起工作。我已经定义了一个 vue 组件,我将其包含在我的 main.js 文件中。

import Vue from 'vue'
import MyComponent from './my-component.vue'

new Vue({
el: '#app',
components: {
myComponent: MyComponent
}
});

我的 vue 组件文件如下所示:

<script>
import Vue from 'vue';
// import VueResource from 'vue-resource'
// Vue.use(VueResource);

export default {
template: '#my-component-template',

created: () => {
Vue.$http.get('/my/api/123',
data => {
console.log(data)
}, err => {
console.log("Error");
console.error(err);
}
);
}
}
</script>

在当前状态下,我收到此错误:

Uncaught TypeError: Cannot read property 'get' of undefined

如果我在我的组件文件中注释掉关于 vue-resource 的两行,我收到的错误会变成这样:

Uncaught TypeError: Cannot redefine property: $url

package.json:

{
"private": true,
"scripts": {
"prod": "gulp --production",
"dev": "gulp watch"
},
"devDependencies": {
"bootstrap-sass": "^3.3.6",
"gulp": "^3.9.1",
"laravel-elixir": "^5.0.0",
"laravel-elixir-vueify": "^1.0.3",
"vue": "^1.0.25",
"vue-resource": "^0.8.0"
}
}

吞咽文件:

var elixir = require('laravel-elixir');
require('laravel-elixir-vueify');

elixir(function(mix) {
mix.browserify('main.js');
});

关于 SO 的所有现有答案都没有带来任何结果。请帮忙。

最佳答案

您应该将 $http 替换为 http:

import Vue from 'vue'
import VueResource from 'vue-resource'

Vue.use(VueResource)

export default {
created: () => {
Vue.http.get(...)
}
}

此外,将 VueResource 安装到 main 文件中是一个很好的做法,然后我们可以使用 this 关键字作为 @Jeff说。

为此,您应该更改箭头函数,因为this 引用全局对象:

// refers to the global object
created: () => {}

// refers to the Vue component
created () {
this.$http.get(...)
}

关于laravel - 使用 vue-resource 进行 Vueify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37968135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com