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 相关文章推荐
ie 处理 gif动画 的onload 事件的一个 bug
Apr 12 Javascript
jQuery 处理网页内容的实现代码
Feb 15 Javascript
随鼠标上下滚动的jquery代码
Dec 05 Javascript
javascript跨域总结之window.name实现的跨域数据传输
Nov 01 Javascript
javascript中字体浮动效果的简单实例演示
Nov 18 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
Jan 05 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
May 25 Javascript
jQuery layui常用方法介绍
Jul 25 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
Apr 12 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
Aug 31 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
Oct 20 jQuery
vue中data里面的数据相互使用方式
Jun 05 Vue.js
详解微信小程序实现仿微信聊天界面(各种细节处理)
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
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
jQuery页面弹出框实现文件上传
2017/02/09 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
python实现Decorator模式实例代码
2018/02/09 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
2018/05/07 Python
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
python中添加模块导入路径的方法
2021/02/03 Python
大学自我鉴定范文
2013/12/26 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
2016年敬老月活动总结
2016/04/05 职场文书
Python&Matlab实现樱花的绘制
2022/04/07 Python
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL