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 相关文章推荐
JavaScript Cookie显示用户上次访问的时间和次数
Dec 08 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
Nov 28 Javascript
js字符编码函数区别分析
Dec 28 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
Oct 14 Javascript
使用jsonp完美解决跨域问题
Nov 27 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
js 判断登录界面的账号密码是否为空
Feb 08 Javascript
微信小程序调用PHP后台接口 解析纯html文本
Jun 13 Javascript
微信小程序动态添加分享数据
Jun 14 Javascript
简单的Vue异步组件实例Demo
Dec 27 Javascript
Vue项目中使用flow做类型检测的方法
Mar 18 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读取flv文件的播放时间长度
2009/09/03 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
解决vue组件中click事件失效的问题
2019/11/09 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
Python实现数据库并行读取和写入实例
2017/06/09 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
详解Python的三种拷贝方式
2020/02/11 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
python定时截屏实现
2020/11/02 Python
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
说出数据连接池的工作机制是什么?
2013/04/19 面试题
大三毕业自我鉴定
2014/01/15 职场文书
公司授权委托书样本
2014/09/15 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
导游词之宿迁乾隆行宫
2019/10/15 职场文书