zoukankan      html  css  js  c++  java
  • 1、Vue

    一、起步

    原理:

    Vue.js数据驱动的原理在于View层的视图发生改变时,Vue会通过DOM Listeners来监听并改变Model层的数据。
    反之,当Model层的数据发生改变时,也会通过Data Bingings来监听并改变View层的展示。从而实现双向数据绑定的功能。 例如:jQuery通过操作DOM来改变页面的显示,而Vue通过操作数据来实现页面的更新与展示。
    这样我们就能很直观的理解数据驱动的意思了。
    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,
    其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定。 Vue.js 就是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层。它的核心是 MVVM 中的 VM,
    也就是 ViewModel。 ViewModel负责连接 View 和 Model,保证视图和数据的一致性。

    声明式渲染

    <div id="start">
        {{message}}
    </div>
    
    var start = new Vue({
            el: "#start",
            data: {
                message: "helloWorld,helloVue!"
            }
        })

    • el:Vue需要操作的元素节点
    • data属性:每个 Vue 实例都会代理其 data对象里所有的属性。注意只有这些被代理的属性是响应的。如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。
     

    常用指令介绍

    v-cloak:还没有加载完vue.js会出现闪烁问题,这个可以解决

    v-text:会覆盖元素中的文本内容

    v-html:html 会覆盖元素中的文本内容

    v-bind:绑定属性可以简写为   :属性名

    v-on: 绑定事件 可以简写为   @事件名

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            [v-cloak] {
               color:red; 
            }
        </style>
    </head>
    <body>
        <div id="app">
            <!-- 使用 v-cloak 能够解决 插值表达式闪烁的问题 -->
            <p v-cloak>{{msg}}</p>
            <h4 v-text="msg"></h4>
            <!-- 默认 v-text 是没有闪烁问题的  -->
            <!-- v-text 会覆盖元素中原本的内容, 但是插值表达式 只会替换自己的这个占位符, 不会把整个元素的内容清空 -->
    
            <div>{{msg2}}</div>
            <div v-text="msg2"></div>
            <div v-html="msg2">12345</div>
            
            <!-- v-bind: 是Vue中用于绑定属性的指令 -->
            <!-- <input type="button" value="按钮" v-bind:title="mytitle"> -->
            <!-- 注意: v-bind: 指令可以简写为  :要绑定的属性  -->
            <!-- v-bind 中,可以写合法的JS表达式 -->
            <input type="button" value="按钮" v-bind:title="mytitle + '1233' ">
    
            <!-- Vue 中提供了 v-on: 事件绑定机制 -->
            <input type="button" value="按钮" v-on:click="show">
        </div>
    
        <!-- 1.导入Vue的包 -->
        <script src="./lib/vue.js"></script>
        <script>
            var vm =new Vue({
                el:"#app",
                data:{
                    msg:"123",
                    msg2: "<h1>我是一个大大的h1, 我大,我骄傲</h1>",
                    mytitle: "这是一个自定义的title",
                },
                methods:{   //这个 methods 属性中定义了当前Vue实例所有可用的方法
                    show: function(){
                        alert("hello")
                    }
    
                }
            })
        </script>
    </body>
    </html>

    未完待续

  • 相关阅读:
    [技术讨论] [NR]请教是怎么理解SSB/RMSI/BWP的
    在TD-LTE中,应用层速率,PDCP层速率,MAC层速率,物理层速率
    5G超级上行国际标准制定 预计明年完成 来源:通信信息报
    LTE 下行PDSCH 信道功率分配-Pa、Pb
    GSM信道(控制信道和业务信道)转自搜狗百科
    10秒钟让你的日志模块化
    当Parallel遇上了DI
    Spring Boot 高效数据聚合之道
    如何用代理平台解决微服务的一些痛点
    linux守护进程、SIGHUP与nohup详解
  • 原文地址:https://www.cnblogs.com/pengsq/p/10153170.html
Copyright © 2011-2022 走看看