django中vue的使用

2023-05-16

转载:https://blog.csdn.net/qq_21389693/article/details/105734696

 

后端使用vue的目的?

后端使用vue的目的就是把ajax里面的数据绑定到前端,实现动静分离。

Vue绑定被分为两个部分

HTML部分:就是要绑定位置,通常用vue的语法来定义绑定的变量。

Django和vue默认都用{{  }}作为变量的标识,在django是有冲突的,所以要使用 verbatim标签进行转义。

Js部分:js部分是vue变量声明的部分,vue变量声明的规则很明确,

  1. 实例化一个vue对象
  2. 使用el来指定要绑定的标签,选择器遵循jq
  3. 使用data来指定具体的变量内容
  4. Vue可以绑定字符也可以绑定函数,绑定函数的关键字是method
  5. Vue 本身不支持ajax异步请求,所以,我们通常要使用vue的扩展插件vue-resource,但是二者语法一样,vue-resource目前交给三方团队维护。又有人开始推崇axios框架进行异步的mvvm数据绑定。

使用vue的需要先引入jq和vue

<script src="/static/loginapp/js/jquery-3.1.1.min.js"></script>
<script src="/static/loginapp/js/vue.min.js"></script>

常规的vue绑定

v-model 双向绑定,是vue绑定的一大特色。


   
  1. <!DOCTYPE html>

  2. <html lang="en">

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>Title</title>

  6. <script src="/static/loginapp/js/jquery-3.1.1.min.js"></script>

  7. <script src="/static/loginapp/js/vue.min.js"></script>

  8. <script src="/static/loginapp/js/vue-resource.js"></script>

  9.  
  10. </head>

  11. <body>

  12. {% verbatim %}

  13. <div id="app">

  14. {{ message }}

  15. <p><input type="text" v-model="message"></p>

  16. </div>

  17. {% endverbatim %}

  18. <script>

  19. var Vue=new Vue({

  20. el:"#app",

  21. data:{

  22. message:"hello world",

  23. }

  24. })

  25.  
  26. </script>

  27.  
  28. </body>

  29. </html>

因为vue和django模板语法相似,接收参数都要使用{{ }},所有需要加一层{% verbatim %}{% endverbatim %},双向绑定可以让html接收vue传来的参数,也可以让html页面上更改vue的参数。

在输入框输入值,输入框上面的值也会更改,如下:

v-bind 绑定数据的属性,在工作当中相当频繁的绑定。


   
  1. <!DOCTYPE html>

  2. <html lang="en">

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>Title</title>

  6. <script src="/static/loginapp/js/jquery-3.1.1.min.js"></script>

  7. <script src="/static/loginapp/js/vue.min.js"></script>

  8. <script src="/static/loginapp/js/vue-resource.js"></script>

  9.  
  10. </head>

  11. <body>

  12. {% verbatim %}

  13. <div id="app">

  14. {{ message }}

  15. <p v-bind:class="color" v-bind:id="id1">{{ message }}</p>

  16. </div>

  17. {% endverbatim %}

  18. <script>

  19. var Vue=new Vue({

  20. el:"#app",

  21. data:{

  22. message:"hello world",

  23. color:"red",

  24. id1:"id2",

  25. }

  26. })

  27.  
  28. </script>

  29.  
  30. </body>

  31. </html>

可以在vue里修改页面上被绑定元素的值。

v-if  对绑定的内容判断


   
  1. <!DOCTYPE html>

  2. <html lang="en">

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>Title</title>

  6. <script src="/static/loginapp/js/jquery-3.1.1.min.js"></script>

  7. <script src="/static/loginapp/js/vue.min.js"></script>

  8. <script src="/static/loginapp/js/vue-resource.js"></script>

  9.  
  10. </head>

  11. <body>

  12. {% verbatim %}

  13. <div id="app">

  14. {{ message }}

  15. <p v-if="valid">{{ message }}</p>

  16. </div>

  17. {% endverbatim %}

  18. <script>

  19. var Vue=new Vue({

  20. el:"#app",

  21. data:{

  22. message:"hello world",

  23. valid:1,

  24. }

  25. })

  26.  
  27. </script>

  28.  
  29. </body>

  30. </html>

当valid为0的时候,删除p标签,

当valid为1的时候加上p标签。

v-show决定是否将内容展示出来


   
  1. <!DOCTYPE html>

  2. <html lang="en">

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>Title</title>

  6. <script src="/static/loginapp/js/jquery-3.1.1.min.js"></script>

  7. <script src="/static/loginapp/js/vue.min.js"></script>

  8. <script src="/static/loginapp/js/vue-resource.js"></script>

  9.  
  10. </head>

  11. <body>

  12. {% verbatim %}

  13. <div id="app">

  14. {{ message }}

  15. <p v-show="valid">{{ message }}</p>

  16. </div>

  17. {% endverbatim %}

  18. <script>

  19. var Vue=new Vue({

  20. el:"#app",

  21. data:{

  22. message:"hello world",

  23. valid:0,

  24. }

  25. })

  26.  
  27. </script>

  28.  
  29. </body>

  30. </html>

当valid为0的时候,就隐藏标签中的内容 

当valid为1的时候,就显示标签中的内容 

v-show和v-if的区别:if着重是否添加元素,show着重是否显示。修改HTML的display的样式来控制是否显示。

v-for 对绑定的内容进行循环


   
  1. <!DOCTYPE html>

  2. <html lang="en">

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>Title</title>

  6. <script src="/static/loginapp/js/jquery-3.1.1.min.js"></script>

  7. <script src="/static/loginapp/js/vue.min.js"></script>

  8. <script src="/static/loginapp/js/vue-resource.js"></script>

  9.  
  10. </head>

  11. <body>

  12. {% verbatim %}

  13. <div id="app">

  14. {{ message }}

  15. <p v-for="p in content">{{ p }}</p>

  16. </div>

  17. {% endverbatim %}

  18. <script>

  19. var Vue=new Vue({

  20. el:"#app",

  21. data:{

  22. message:"hello world",

  23. content:["红旗谱","三体","资本论","活着"],

  24. }

  25. })

  26.  
  27. </script>

  28.  
  29. </body>

  30. </html>

结果如下 

v-on 绑定事件


   
  1. <!DOCTYPE html>

  2. <html lang="en">

  3. <head>

  4. <meta charset="UTF-8">

  5. <title>Title</title>

  6. <script src="/static/loginapp/js/jquery-3.1.1.min.js"></script>

  7. <script src="/static/loginapp/js/vue.min.js"></script>

  8. <script src="/static/loginapp/js/vue-resource.js"></script>

  9.  
  10. </head>

  11. <body>

  12. {% verbatim %}

  13. <div id="app">

  14. <p v-on:click="Onload">{{ message }}</p>

  15. </div>

  16. {% endverbatim %}

  17. <script>

  18. var Vue=new Vue({

  19. el:"#app",

  20. data:{

  21. message:"点击我会触发事件",

  22. },

  23. methods:{

  24. Onload:function () {

  25. alert("你好,世界!")

  26. }

  27. },

  28. })

  29.  
  30. </script>

  31.  
  32. </body>

  33. </html>

当点击message的时候触发alert事件 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django中vue的使用 的相关文章

随机推荐

  • 虚拟机安装CentOS7系统及常用工具配置

    一 准备工作 1 VMware Workstation 15虚拟机 xff1b 2 CentOS 7 x86 64 DVD 2009 iso 系统 xff1b xff08 下载地址 xff1a Download xff09 二 安装 Cen
  • ZYNQ平台UBOOT下烧录程序到Flash中

    上篇文章讲述了通过SDK引导启动UBOOT xff0c 在UBOOT启动之后可以通过网口tftp功能下载主机提供的相应程序 xff0c 并通过sf擦除和烧写命令 xff0c 将新程序烧录到Flash指定位置 uboot启动之后 xff0c
  • 近期我将51CTO的博客搬家到了CSDN的问题

    近期我把以前在51写的博客搬家到了CSDN xff0c 结果发现搬家过来后 xff0c 很多代码出现了排序错乱的问题 xff0c 这样看起来非常不好 xff0c 必须要复制到开发软件中ctrl 43 F去整理格式 xff0c 希望看到的管理
  • PCL点云库 点云拼接

    点云拼接有2种方式 xff1a 两个点云的点数相加 xff0c 和两个点云的维度相加 xff08 1 xff09 点数相加 当两个点云的维度 xff08 字段 xff09 相同时 xff0c 两个点云可以通过数学符号 34 43 34 拼接
  • 虚拟机linux能ping通主机不能上网解决办法

    首先查看你的虚拟机设置 xff0c 网络适配器是不是connect 连接 xff0c 选择连接方式第一种桥接方式 xff0c 主机ping虚拟机能ping通 xff0c 还不能上网 xff0c 测试下你的linux 看是否是这类问 题 xf
  • linux设备端breakpad程序崩溃日志的捕获与分析

    linux设备端breakpad程序崩溃日志的捕获与分析 目录 linux设备端breakpad程序崩溃日志的捕获与分析说明平台介绍breakpad 的编译PC端的编译与安装交叉编译 breakpad 的使用代码的使用需要使用的文件程序崩溃
  • [转载]槽函数教程

    一 概述 二 信号 三 槽 四 信号和槽的关联 五 元对象工具 六 程式样例 七 应注意的问题 相关资源 作者简介 作者 唐新华 xhsmart 64 263 net 软件工程师 信号和槽作为QT 的核心机制在QT 编程中有着广泛的应用 x
  • 如何在Centos服务器上搭建起Oracle10、VNC、以及FTP

    一 重装和分区 1 配置所需磁盘阵列 xff08 Raid xff09 xff1b 2 正确分区 xff1b 3 Centos安装 xff1a 过于简单 xff0c 请自行bd 二 连网 系统安装完成之后 xff0c 我们需为其分配IP和D
  • cas服务器连接数据库

    进行数据库的连接 xff0c 必须要导入一些必要的包 xff0c 比如数据库驱动 xff0c mysql连接等包 xff0c 这些maven依赖都能在网上找到 1 找到cas overlay template 5 3文件夹下的pom文件 x
  • VirtualBox 桥接模式,虚拟机ping不通宿主机

    按照网上教程设置好虚拟机网络之后 xff0c 怎么都ping不通宿主机 方案一 xff1a 修改防火墙入站规则 打开控制面板 xff0c 找到Windows Defender 防火墙 xff0c 点击高级设置 xff0c 在入站规则里找到核
  • Kuhn-Munkres 算法详细解析

    直接进入正题 xff0c Kuhn Munkres 算法 xff08 下文简称 KM 算法 xff09 是为了高效求解二分图最佳完美匹配问题而生的 xff0c 我们先温习一下几个概念 xff0c 如果你对这几个概念不是很熟悉的话 xff0c
  • maven web项目执行install异常:org.apache.maven.plugin.war.util.WebappStructure

    INFO Packaging webapp INFO ERROR FATAL ERROR INFO INFO Cannot construct org apache maven plugin war util WebappStructure
  • 配置linux主机静态ip和网关

    网上还是百度了比较多 xff0c 具体参考已经记不清楚了 xff0c 也就不写了 不过还是要感谢各位大佬之前的分享 xff0c 还有一些分享了网络知识的 xff0c 有兴趣可以自己百度去看了 这篇只大概记录需要配置哪些东西 xff0c 大概
  • adb命令 提取已安装的apk

    获取包名 通过 adb shell pm 命令 xff0c 可以打印当前手机安装的所有 apk 的包名 adb shell pm list packages 根据包名查找 APK 对应的路径 所有安装完后的apk xff0c 其实都存在手机
  • python 语言基础 - 你不得不知道的字符串常用函数之isalpha

    前言 小伙伴们大家好 xff0c 每天一个小知识 xff0c 一起学python每天进步一点点 不知道小伙伴们在开发的时候有没有遇到这样一种场景 xff0c 有时候一些业务需要 xff0c 想要判断一个字符串是不是由纯字符组成 xff0c
  • python 语言基础 - 你不得不知道的字符串常用函数之isdigit

    前言 小伙伴们大家好 xff0c 每天一个小知识 xff0c 一起学python每天进步一点点 上一篇文章中为大家分享了关于判断字符串是否全都是由字符组成的函数isalpha xff0c 今天要给大家分享的依然是判断字符串组成的函数isdi
  • uni-app,选择器使用

    1 uni app 选择器使用示例 xff1a let view 61 uni createSelectorQuery in this select 34 grade btn 34 view fields size true scrollO
  • CSRF漏洞修复建议

    1 关于CSRF 跨站请求伪造 xff0c xff08 Cross site request forgery xff09 是一种对网站的恶意利用 CSRF作为一种跨网站的攻击方式 xff0c 不同于XSS站内攻击 CSRF是通过伪装成受信任
  • centos6和centos7的防火墙基本命令

    一 centos6 xff1a 1 firewall的基本启动 停止 重启命令 查看防火墙状态 xff1a service iptables status etc init d iptables status centos6启动 停止防火墙
  • django中vue的使用

    转载 xff1a https blog csdn net qq 21389693 article details 105734696 后端使用vue的目的 后端使用vue的目的就是把ajax里面的数据绑定到前端 xff0c 实现动静分离 V