zoukankan      html  css  js  c++  java
  • Vue基础

    Infi-chu:

    http://www.cnblogs.com/Infi-chu/

    一、什么是Vue
    1.Vue.js是一个构建数据驱动的Web界面的渐进式框架
    2.Vue.js的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件
    3.核心是一个响应的数据绑定系统

    二、基本使用
    eg.
    <!DOCTYPE html>
    <head>
        <meta charset="UTF-8">
        <title>Vue的基本使用</title>
        <!-- 01.导包 -->
        <script src="./js/vue.js"></script>
        <script>
            // 03. 监听
            window.onload = function () {
                // 04:创建vue
                var vm = new Vue({
                    // 绑定操作对象
                    el:'.box',
                    data: {
                        content: 'Vue的基本使用'
                    }
                });
            }
        </script>
    </head>
    <body>
        <!-- 02:div标签(设置模板变量)-->
        <div class="box">{{content}}</div>

    </body>
    </html>
    【注】
    1.开发包
    vue.js
    2.生产包
    vue.min.js

    三、基本语法
    eg.
    <!DOCTYPE html>
    <head>
        <meta charset="UTF-8">
        <title>操作数据</title>
        <script src="./js/vue.js"></script>
        <script>
            window.onload = function () {
                // uve对象
                var vm = new Vue({
                    // 标签对象
                    el:'.box',
                    // 数据和属性
                    data:{
                        content:'操作数据',
                        linkdata:'百度链接',
                        url:'http://www.baidu.com',
                        count:0
                    },
                    // 方法
                    methods: {
                        fnAddClick:function () {
                            // 跨域
                           this.count += 1;
                        }
                    }

                });
            }
        </script>
    </head>
    <body>
        <div class="box">
            <!-- 第一种.v-on: -->
            <!-- <button v-on:click='fnAddClick'>计数器:{{count}}</button> -->
            <!-- 第二种.@ -->
            <button @click='fnAddClick'>计数器:{{count}}</button>
            <a v-bind:href="url" target="_blank">{{linkdata}}</a>
            <p>{{content}}</p>
        </div>
    </body>
    </html>

    四、条件渲染
    eg.
    <!DOCTYPE html>
    <head>
        <meta charset="UTF-8">
        <title>条件渲染</title>
        <script src="./js/vue.js"></script>
        <script>
            window.onload = function () {
                var vm = new Vue({
                    el:'.box',
                    data:{
                        flag:4
                    }
                });
            }
        </script>
    </head>
    <body>
        <div class="box">
            <!-- 01:v-if -->
            <!-- <p v-if='flag==1'>01:v-if</p> -->
            <!-- 02:v-else-if -->
            <!-- <p v-else-if='flag==2'>02:v-else-if</p> -->
            <!-- 03:v-else-if -->
            <!-- <p v-else-if='flag==3'>03:v-else-if</p> -->
            <!-- 04:v-else -->
            <!-- <p v-else>04:v-else</p> -->
            <!-- 05:v-show -->
            <!-- <p v-show='flag==3'>05:v-show</p> -->
        </div>
    </body>
    </html>
    【注】
    1.v-show用法和v-if大致一样,但是不支持v-else,他和v-if的区别是,它制作元素样式的显示和隐藏,元素一直是存在的
    2.在vue中使用v-show,原来的css代码不能设置display属性,会导致冲突

    五、列表渲染
    1.js部分
    <script>
        window.onload = function () {
        var vm = new Vue({
            el:'.box',
            data:{
                // 01: 普通列表
                itemList:[1, 2, 3, 4, 5],
                // 02: 列表下标
                indexList:['a','b','c','d'],
                // 03: 有且只有一个对象
                objData:{
                    name:'小明',
                    age:19
                },
                // 04: 对象列表
                objList:[
                    {
                        name:'小明',
                        age:20
                    },
                    {
                        name:'小红',
                        age:21
                    }
                ]
            }
        });
    }
    </script>
    2.普通列表
    <li v-for='item in itemList'>{{item}}</li>
    3.列表下标
    <li v-for='(item,index) in indexList'>角标{{index}}==数值{{item}}</li>
    4.有且仅有一个对象
    <li v-for='item in objData'>{{item}}</li>
    <li v-for='(obj,key) in objData'>属性值{{obj}}-----属性名{{key}}</li>
    5.对象列表
    <li v-for='obj in objList'>属性值1:{{obj.name}}==属性值2:{{obj.age}}</li>

    六、表单输入绑定(双向绑定数据)
    可以用 v-model 指令在表单 <input> 及 <textarea> <select> 元素上创建双向数据绑定
    eg.
    <!-- 01.单行文本框 -->
            <input type="text" v-model='content'>
            <p>{{content}}</p>

    <!-- 02.多行文本框 -->
            <textarea v-model='content'></textarea>
            <p>{{content}}</p>

    <!-- 03.单选框 -->
            <input type="radio" name="sex" value="男" v-model='content'>男
            <input type="radio" name="sex" value="女"  v-model='content'>女
            <p>{{content}}</p>

    <!-- 04.多选框 -->
            <input type="checkbox" name="lk" value="吃饭" v-model='like'>吃饭
            <input type="checkbox" name="lk" value="睡觉" v-model='like'>睡觉
            <input type="checkbox" name="lk" value="打豆豆" v-model='like'>打豆豆
            <p>{{like}}</p>     

    <!-- 05.下拉框 -->
            <select name="addr" v-model='address'>
                <option value="北京">北京</option>
                <option value="上海">上海</option>
                <option value="广州">广州</option>
                <option value="深圳">深圳</option>
            </select>
            <p>{{address}}</p>
    【注】js部分见五

  • 相关阅读:
    上海汉得面试:
    二叉树的遍历
    操作系统知识总结
    mysql单表查询&&多表查询(职员表14+9)
    数据库查询
    数据库设计三大范式及事务
    某硕笔试题mysql数据库部分(较为全面)
    java 读取excel 将数据插入到数据库
    java 读取excel 正常 xls
    java 读取excel(Map结构)xls
  • 原文地址:https://www.cnblogs.com/Infi-chu/p/12050266.html
Copyright © 2011-2022 走看看