• Vue插值语法、指令语法、单向绑定、双向绑定(详细解释)


    目录

    一、插值语法

    二、指令语法

    三、数据绑定

       1.单向数据绑定

       2.双向数据绑定


    Vue模板语法有两大类

       1.插值语法:

             功能:用于解析标签体的内容

             写法: {{xxx}}xxx是js表达式,且可以直接读取data中的所有属性

       2.指令语法:

             功能:用于解析标签(包括:标签属性、标签体内容、绑定事件...)

             举例:v-bind:href="xxx" 或简写成 :href="xxx",xxx同样要写js表达式

                       且可以直接读取到data中的所有属性

              备注:Vue中有很多的指令,且形式都是:v-????

    Vue中有两种数据绑定方式:

         1.单向绑定(v-bind):数据只能从data流向页面

         2.双向绑定(v-model):数据能从data和页面互相流向

          备注:

              1.双向绑定一般都应用在表单类元素上(如:input、select等)

              2.v-model:value  可以简写为v-model,因为v-model默认手机的就是value值

    一、插值语法

        

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title> 初识vuetitle>
    6. <script type="text/javascript" src="../js/vue.js">script>
    7. head>
    8. <body>
    9. <div id="root">
    10. <h1>插值语法h1>
    11. <h3>你好,{{name}} h3>
    12. <hr/>
    13. div>
    14. <script type="text/javascript">
    15. //阻止vue在启动时生成生产提示
    16. Vue.config.productionTip=false
    17. new Vue({
    18. el:'#root',
    19. data:{
    20. name:'jack'
    21. }
    22. })
    23. script>
    24. body>
    25. html>

    二、指令语法

              带有v-的都是指令语法  bind是绑定的意思
               在这个地方吧url的结构绑定给href   url为js表达式
               v-bind可以动态的给属性绑定值
               点我去一个好地方
               其中v-bind都可以省略写成 : 

    1. <div id="root">
    2. <h1>插值语法h1>
    3. <h3>你好,{{name}} h3>
    4. <hr/>
    5. <h1>指令语法h1>
    6. <a :href="url">点我去一个好地方a>
    7. div>
    1. <script type="text/javascript">
    2. //阻止vue在启动时生成生产提示
    3. Vue.config.productionTip=false
    4. new Vue({
    5. el:'#root',
    6. data:{
    7. name:'jack',
    8. url:'http://www.baidu.com'
    9. }
    10. })
    11. script>

    三、数据绑定

       1.单向数据绑定

    1. html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title> 初识vuetitle>
    6. <script type="text/javascript" src="../js/vue.js">script>
    7. head>
    8. <body>
    9. <div id="root">
    10. 单行数据绑定: <input type="text" :value="name">
    11. div>
    12. <script type="text/javascript">
    13. //阻止vue在启动时生成生产提示
    14. Vue.config.productionTip=false
    15. new Vue({
    16. el:'#root',
    17. data:{
    18. name:'尚硅谷123'
    19. }
    20. })
    21. script>
    22. body>

    当我们在Vue中修改name的值的时候,页面的值也会随着修改,如下图

    但是我们在文本框中修改内容的时候,Vue中的name值不会改变

    原因:  单向绑定的关系

    2.双向数据绑定

    1. <div id="root">
    2. 单行数据绑定: <input type="text" :value="name">
    3. <br>
    4. 双行数据绑定: <input type="text" v-model:value="name">
    5. div>

    结果如下图

    当我们修改Vue中name时,我们发现两个文本框都会改变

    当我们修改双向绑定文本框的时候,我们发现Vue的name值也会改变  (单向文本框也会改变的原因是因为Vue的name值改变了)

    产生了一个类似下图的连锁反应

  • 相关阅读:
    使用 vue-element-admin 开发后台管理系统【安装】
    除了走路,40-60岁的人,还可以进行哪些运动?3种运动可供参考
    <学习笔记>从零开始自学Python-之-web应用框架Django( 八)Django表单
    KVM API docs
    QT基础教程(文本绘制)
    【面试题】synchronized和lock的区别/手写生产者消费者
    说一下 TCP/IP 协议?以及每层的作用?
    【计算机网络】图解路由器(二)
    Kali实现ARP欺骗
    Spring boot 如何使用视图解析器 thymeleaf 模板引擎整合html公共部分详情
  • 原文地址:https://blog.csdn.net/weixin_51351637/article/details/126560835