TypeError:无法读取未定义的 vue js 的属性“get”
Posted
技术标签:
【中文标题】TypeError:无法读取未定义的 vue js 的属性“get”【英文标题】:TypeError: Cannot read property 'get' of undefined vue js 【发布时间】:2018-05-08 01:18:33 【问题描述】:我很难理解 vue.js。我目前正在尝试弄清楚如何获取或调用 API。我已经成功设置了我的index.html
app.js
也可以设置包含在node_modules
中的包。
当我尝试运行我的文件时,我在控制台上收到了TypeError: Cannot read property 'get' of undefined
。它说我需要安装 vue-resource 并添加下面的两行代码。
我应该在哪里准确插入它们?它在我的 app.js 中吗?抱歉我的无知,但我还是 javascript 和 Vue.js 的新手
var Vue = require('vue');
Vue.use(require('vue-resource'));
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<script src="https://unpkg.com/vue" ></script>
<title>article-app</title>
</head>
<body>
<div id="vue-app">
articles
</div>
<script src="app.js"></script>
<script src="main.js" ></script>
</body>
</html>
var article = new Vue(
el: '#vue-app',
data:
articles: ''
,
created: function ()
this.fetchData();
,
methods:
fetchData: function ()
var that = this
this.$http.get('http://localhost/aim-beta/rest/export/json/article'),
function (data)
this.articles = data.main.temp;
);
【问题讨论】:
type="text/javascript" in 为简单起见,您可以使用 es6fetch
。 ufus.cc/2UXdW
【参考方案1】:
在一个名为plugins/vue-resource.js
的单独文件中配置vue-resource
const Vue = require('vue');
const Resource = require('vue-resource');
Vue.use(Resource);
然后在您的app.js
中要求该文件,如下所示:
require('./plugins/vue-resource.js');
new Vue(
el: '#vue-app',
data:
articles: ''
,
created: function ()
this.fetchData();
,
methods:
fetchData: function ()
this
.$http
.get('http://localhost/aim-beta/rest/export/json/article',
function (data)
this.articles = data.main.temp;
)
);
因此,您的新文件夹结构将如下所示:
- index.html
- app.js
+ plugins
- vue-resource.js
使用原生 JavaScript Fetch API
// You don't need vue resources!!!
// require('./plugins/vue-resource.js');
// Read more about Fetch API: [https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch][1]
new Vue(
el: '#vue-app',
data:
articles: ''
,
created: function ()
this.fetchData();
,
methods:
fetchData: function ()
fetch('http://localhost/aim-beta/rest/export/json/article',
method: 'GET'
).then(function(data)
console.log(data);
this.articles = data.main.temp;
)
);
【讨论】:
谢谢,试试这个。如果我有多个require
,是否需要将它们分隔在不同的文件中?
是的!将它们分开使您的应用模块化,让您单独跟踪和配置第三方模块
但是,构建应用程序取决于您的决定
嗨,我收到了一个错误Uncaught ReferenceError: require is not defined
你用的是browserify还是Webpack?以上是关于TypeError:无法读取未定义的 vue js 的属性“get”的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:无法读取 Vue.js 中 foreach 内未定义的属性“详细信息”
渲染中的 Vue.js 错误:“TypeError:无法读取未定义的属性‘长度’”
TypeError:无法读取未定义的 vue-resource.js:284 的属性“替换”