美文网首页
二、Vue数据绑定

二、Vue数据绑定

作者: Epat | 来源:发表于2019-05-31 16:31 被阅读0次

一、环境准备

  • jQuery依赖环境
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
  • Vue依赖环境
<script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>

二、计数器

  • jQuery实现方式
    html
<div class="count_box">
  <button id="reduceBtn">-</button>
  <input type="number" id="countInput" value="0" />
  <button id="addBtn">+</button>
</div>
当前计数为:<span id="count">0</span>

js

    var count = 0
    var reduceBtn = $("#reduceBtn")
    var countElement= $("#count")
    var countInput = $("#countInput")
    var addBtn= $("#addBtn")
    /* 监听减少按钮 */
    reduceBtn.on("click", function () {
       count--
      renderCount()
      renderInput()
    })
    /* 监听增加按钮 */
    addBtn.on("click", function () {
      count++
      renderCount()
      renderInput()
    })
    /* 监听输入 */
    countInput.on("input", function (event) {
        count = $(event.target).val()
        renderCount()
    })
    /* 更新数量展示 */
    function renderCount () {
      countElement.html(count)
    }
    /* 更新输入框 */
    function renderInput () {
        countInput.val(count)
    }

css

    .count_box{
        display: flex;
        align-items: center;
    }
    .count_box button {
        cursor: pointer;
    }
    #count{
        margin: 0 5px;
    }
  • Vue实现方式
    html
    <div id="app">
        <div class="count_box">
            <button id="reduceBtn" @click="reduce">-</button>
            <input type="number" id="countInput" v-model="count" />
            <button id="addBtn" @click="add">+</button>
        </div>
        当前计数为:<span id="count">{{count}}</span>
    </div>

js

    new Vue({
        el: "#app",
        data () {
            return {
                count: 0
            }
        },
        methods: {
            add () {
                this.count++
            },
            reduce () {
                this.count--
            }
        }
    })

可以看到,jQuery改变视图层(View)时,需要先拿到视图层对象也就是dom对象,然后再通过dom对象更新视图。Vue改变视图层(View)只需通过监听的事件改变模型层(model),Vue框架(ViewModel)会帮你改变视图层(View)。开发人员无需频繁的操作dom对象,只需要关注抽象数据模型就可以了

Vue中的@click为v-on:click的缩写,详细请看
Vue指令

相关文章

  • Vue 中的双向数据绑定

    双向绑定 单向数据流 双向绑定 or 单向数据流 Vue 是单向数据流,不是双向绑定 Vue 的双向绑定是语法糖 ...

  • vue 双向数据绑定

    Vue实现数据双向绑定的原理:Object.defineProperty()vue实现数据双向绑定主要是:采用数据...

  • vue实例和数据绑定

    vue实例和数据绑定 vue实例和数据绑定 通过script便签引入vue 通过vue构造函数来创建一个vue实例...

  • Vue入门(二)——数据绑定

    一、什么是双向数据绑定 双向数据绑定是Vue的核心功能之一。所谓双向数据绑定是指:HTML标签上的数据绑定到Vue...

  • vue

    数据绑定离不开data里面的数据。也是Vue的核心属性。 它是Vue绑定数据到HTML标签的数据源泉,另外Vue框...

  • Vue来一点料

    一、Vue-cli构建的项目目录 二、Vue双向数据绑定 原理 Vue遍历data对象中的所有数据,使用Objec...

  • Vue实现数据双向绑定的原理

    Vue实现数据双向绑定的原理:Object.defineProperty() vue实现数据双向绑定主要是:采用数...

  • 二、Vue数据绑定

    一、环境准备 jQuery依赖环境 Vue依赖环境 二、计数器 jQuery实现方式html js css Vue...

  • vue基本面试题总结

    原文地址:vue基本面试题 1、vue双向数据绑定? vue数据双向绑定是通过 数据劫持 结合 发布者-订阅者 模...

  • 如何用js手动实现一个数据双向绑定

    双向数据绑定: 我们这里拿vue举例,vue中的双向数据绑定主要是利用Object.defineProperty(...

网友评论

      本文标题:二、Vue数据绑定

      本文链接:https://www.haomeiwen.com/subject/srfjtctx.html