Nuxt.js 数据双向绑定的实现


Posted in Javascript onFebruary 17, 2019

假定我们有一个需求,一开始通过mounted()将一个字符串渲染在页面上,但是我们经过操作后修改了数据并且需要将得到的结果重新异步渲染到页面中去,而不是跳转刷新页面来重新渲染

首先模板中data()中定义数据,并且要将定义的数据显示出来

<template>
  <div>
    <span @click="click">{{ text }}</span>
  </div>
</template>

<script>
  export default {
   data(){
    return {
     text: '',
     newText: '1'
    }
   },
   async mounted(){
     let {status,data:{text}} = await self.$axios.post('/getText');
     this.text = text;
   }
  }
</script>

然后我们通过methods里的函数来获取后台的数据

methods:{
  async click(){
    let {status,data:{text}} = await self.$axios.post('/updateText',{
      text,
      newText
    })
   
    this.text = text;
  }
  
}

服务端的接口如下

router.get('/getText', async (ctx) => {
  let text= await Text.find();
  ctx.body = {
    text
  }
}

router.post('/updateText', async (ctx) => {
 const {text,newText} = ctx.request.body;
 let oldVal = text;
 let newVal = newText;

 let ncomment = await Comment.updateOne(oldVal,newVal);

 let text= await Text.find();

 ctx.body={
  text
 }
})

这里有个重点!

获取页面传过来的参数时必须使用结构赋值的方法获取,不然获取到的为一个Object,查询将会出错!

双向绑定在这里的体现是:一开始通过mounted()将数据渲染到模板中,然后调用函数通过服务端的updateText接口改变数据,在updateText接口中更新完数据后,执行一遍查询,将查询结果返回到触发的函数中。并在该函数中修改data()中text的值达到数据双向绑定的效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
百度 popup.js 完美修正版非常的不错 脚本之家推荐
Apr 17 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 Javascript
jQuery标签编辑插件Tagit使用指南
Apr 21 Javascript
javascript中基本类型和引用类型的区别分析
May 12 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
Aug 15 Javascript
js实现简单的计算器功能
Jan 16 Javascript
详解基于webpack搭建react运行环境
Jun 01 Javascript
vue路由跳转时判断用户是否登录功能的实现
Oct 26 Javascript
详解如何在react中搭建d3力导向图
Jan 12 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
UEditor 自定义图片视频尺寸校验功能的实现代码
Oct 20 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
Feb 17 #Javascript
JavaScript遍历DOM元素的常见方式示例
Feb 16 #Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 #Javascript
JS实现简单的抽奖转盘效果示例
Feb 16 #Javascript
mocha的时序规则讲解
Feb 16 #Javascript
jQuery实现ajax的嵌套请求案例分析
Feb 16 #jQuery
解决微信小程序中转换时间格式IOS不兼容的问题
Feb 15 #Javascript
You might like
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
js获取ip和地区
2017/03/10 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
js计算两个时间差 天 时 分 秒 毫秒的代码
2019/05/21 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
用Python实现换行符转换的脚本的教程
2015/04/16 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
python speech模块的使用方法
2020/09/09 Python
css3学习心得分享
2013/08/19 HTML / CSS
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
运动会四百米广播稿
2014/01/19 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
连带责任保证书
2014/04/29 职场文书
啦啦队口号大全
2014/06/16 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
西柏坡导游词
2015/02/05 职场文书
中学政教处工作总结
2015/08/13 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
2022漫威和DC电影上映作品
2022/04/05 欧美动漫