vue created钩子使用后台数据赋值给data里的变量,报错‘undefined’

created: function () {

this.$axios.post(‘/jsonData‘).then( function (res) {

this.cares = res.data;

console.log(this.cares)

})

 以上报错‘undefined’

经过查询得知,.then回调里的this指向的不是vue实例,所以出错。

解决办法:

  1、修改this指向,原生js可以用.bind()方法

  2、ES6 箭头函数

    

  .then(  res => {

this.cares = res.data;

console.log(this.cares)

})

原文地址:https://www.cnblogs.com/yinblog/p/11549916.html

时间: 2024-10-08 23:14:09

vue created钩子使用后台数据赋值给data里的变量,报错‘undefined’的相关文章

sql server exec 查询数据,将查询出来的数据赋值给一个定义的变量

sql server exec 查询数据,将查询出来的数据赋值给一个定义的变量 declare @num int, @sqlnum nvarchar(500) set @sqlnum=N''; set @sqlnum =N'select @a=max(SINGLE_CORE_COUNT) from SFC_MODULE_STACKING_DATA where '+@strsql; exec sp_executesql @sqlnum,N'@a int output',@a=@num output

Vue axios异步获取后台数据alert提示undefined

记录一个小问题,关于分页查询套餐 前台通过axios异步请求获取后台数据alert弹出数据提示undefined 下面有三个bean PageResult /** * 分页结果封装对象 */ public class PageResult implements Serializable { //总记录数 private Long total; //当前页结果 private List rows; //get,set方法省略 .... } QueryPageBean /** * 封装查询条件 */

使用FreeMarker生成数据,模板明明没错却一直报错“The following has evaluated to null or missing:”

今天使用FreeMarker生成数据时一直报错,错误信息是"The following has evaluated to null or missing:",告知我找不到值. 但是我再三确认,这些属性的值都是正常的,也就是说某些原因造成FreeMarker无法读取到这些值.困扰了我将近两个小时后,经过各种尝试后,终于被我发现了原因: FreeMarker读取数据的时候不支持属性名首字母大写(但是支持变量名全大写的属性)!将变量名全部改为小写后,数据就正常生成了. 因为我也只是个初学者(

MVC后台数据赋值给前端JS对象

Controller中的数据,不管是使用的是ViewModel 还是ViewBag.Data,要将他传递到View中,这个很容易,但是如果要将它传递给JS中的某个对象,这个改如何处理呢? 后台的数据格式: public class ViewModel { public int ID { get; set; } public string Name { get; set; } public List<string> Data { get; set; } } Controller 传递到View的

vue中如何获取后台数据

原文链接:http://blog.csdn.net/vergilgeekopen/article/details/68954940 需要引用vue-resource 安装请参考https://github.com/pagekit/vue-resource官方文档 在入口函数中加入 import VueResource from 'vue-resource' Vue.use(VueResource); 在package.json文件中加入 "dependencies": { "

vue使用mock模拟后台数据

vue cli 2.0找到build目录下的dev-server.js文件,打开.找到var app = express()的代码处,在它下面添加代码: var router = express.Router() var demoData = require('./../moke/demo.json') //将moke数据的对象引入 router.get('/url',function(req,res,next){ // '/url'为路由的路径,在路由跳转到该路径文件下时会被这个方法进行拦截

Vue项目中使用webpack配置了别名,引入的时候报错

chainWebpack(config) { config.resolve.alias .set('@', resolve('src')) .set('assets', resolve('src/assets')) .set('components', resolve('src/components')) }, 这是vue.config.js里的配置 使用的时候,要在别名前面加上~,这样就会告知加载器这是一个模块,而不是绝对路径 记住,在script部分或者js里引入的时候,不需要加 ~,直接用

Django开发纯后台服务的时候遇到CSRF引起的报错

Django视图: 当请求为post请求时会遇到CSRF的报错,Django针对CSRF的保护措施是在生成的每个表单中放置一个自动生成的令牌,通过这个令牌判断POST请求是否来自同一个网站,只需要在form表单中添加{% csrf_token %} Django纯后端服务:  当请求是post请求时此时也会出现上面的报错,这个时候我是去settings.py将 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'dja

在xunsearch导入数据中使用explain字段的时候报错

explain为select的查询的关键词,解决办法加上单引号 /usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://ddxg:*****@47.92.81.68/soosoogoo_main --sql="select cid,class,function,'explain' from soosoogoo_base_controller" --project=demo