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 相关文章推荐
修改发贴的编辑功能
Mar 07 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
Aug 08 Javascript
javascript中普通函数的使用介绍
Dec 19 Javascript
使用javascript为网页增加夜间模式
Jan 26 Javascript
基于jquery步骤进度条源码分享
Nov 12 Javascript
常见的javascript跨域通信方法
Dec 31 Javascript
jQuery中的通配符选择器使用总结
May 30 Javascript
Bootstrap实现弹性搜索框
Jul 11 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
Jan 05 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
Nov 28 Javascript
vue项目持久化存储数据的实现代码
Oct 01 Javascript
JavaScript之数组扁平化详解
Jun 03 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/03/03 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
2017/07/20 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
原生js实现随机点名
2020/07/05 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
[01:30]我们共输赢 完美世界城市挑战赛开启全新赛季
2019/04/19 DOTA
Python中字符串对齐方法介绍
2015/05/21 Python
Python实现栈的方法
2015/05/26 Python
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
Python的高阶函数用法实例分析
2019/04/11 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
python多线程同步之文件读写控制
2021/02/25 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
基于python的列表list和集合set操作
2019/11/24 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
css3实现动画的三种方式
2020/08/24 HTML / CSS
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
什么是反射
2012/03/17 面试题
低碳环保演讲稿
2014/08/28 职场文书
2015年幼师工作总结
2015/04/28 职场文书
倡议书的格式写法
2015/04/28 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript