Vue入门基础知识

一、Vue入门基础知识

1、Vue使用的基本操作

i. 先下载,引入vue.js
ii. Vue,实例化一个vue实例化对象(new Vue({}))
    1. 新建一个vue实例化对象(Vue是一个构造函数)
    2. 执行vue构造函数中每一句代码
    3. 将新创建的vue实例化对象赋值给vue构造函数中的this

iii. 往vue实例化对象中传入一个对象(Vue实例化传入的对象里面的值也都为对象,以键值形式对存在,如data对象)

2、Vue的基础知识(应用:普通版的todolist(待办事项))

1) el: 节点挂载

限定Vue语法的作用范围

2) Data(需要渲染的数据,Vue 实例的数据对象)

    a) data的类型可以为:Object | Function。

    注:组件的定义只接受 function(因为函数有自己的作用域,每一个实例的data属性都是独立的)

    b) data可以为:

        1.    自定义数据

        2.    通过ajax获取的后台数据

        3.    Data是一个函数

 3)Vue语法,实现对(DOM)节点的渲染、删除、添加

    a) 模板渲染{{ obj }}(data中的数据可以直接在html中显示,让js变量直接在html中使用)

    b) v-for (列表渲染,使用for循环遍历数据生成节点,遍历对象和数组),数据驱动视图

    使用:1. 用 v-for 把一个数组对应为一组元素

                v-for=”(item,index) in list”

               list为源数据数组并且item是数组元素迭代的别名

                index为当前项的索引

                2、一个对象的 v-for

                v-for="(value,key) in object"

                object为data中定义的一个对象,value为对象的值,key为对象的键名

    c) 条件渲染v-if、v-show(使用数据隐藏和显示节点)
        1.v-if删除了节点
        2.v-show隐藏了节点(使用display:none隐藏了节点)

  d )删除节点,使用@click时间并在methods中定义delitem删除函数,并用v-bind绑定自定义属性,如::data-id="item.id"

        事件处理@click与回调函数methods (与v-bind结合使用,因为在进行操作的时候需要传入值)

        1. 在节点上直接绑定click事件
        2. 在methods属性中定义函数
        3. methods中使用data中的数据必须使用this访问

        4. this代表vue实例化对象

   e) 添加节点,通过input的value值与data绑定

   v-model与表单元素的value值的双向数据绑定(在表单控件或者组件上创建双向绑定,在节点上直接修改value属性)
            双向数据绑定

           1. 将表单中input的值value和data中值绑定起来

           (data设置该数据的属性值title:"默认值",input中绑定v-model="title",添加按钮绑定@click="additem")

            2. data改变input[value]改变

           data中的title的值改变,input中的value也会发生改变

            3. Input[value]改变data改变

            在input中输入值,点击添加按钮,data中的数据发生改变

    f)  绑定属性(自定义属性)(绑定属性值)V-bind:href,data-id
            1. 简写(:href)
            2. v-bind:的缩写 : (冒号)

    g)  v-if删除了节点,页面审查不到 

            v-show隐藏了节点(使用display:none隐藏了节点),页面能够审查到

案例:简式计算机

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">

    <input type="text" v-model="n1">
    <select v-model="opt">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
    </select>

    <input type="text"  v-model="n2">
    <input type="button" value="=" @click="sum">
    <input type="text" v-model="result">

</div>

<script src="lib/vue-2.4.0.js"></script>
<script>
    var vm = new Vue({
        el:'#app',
        data:{
            n1:0,
            n2:0,
            opt:'+',
            result:0
        },
        methods:{
            sum:function(){
                switch(this.opt){
                    case '+':
                        this.result = parseInt(this.n1) + parseInt(this.n2);
                        break;
                    case '-':
                        this.result = this.n1 - this.n2;
                        break;
                    case '*':
                        this.result = this.n1 * this.n2;
                        break;
                    case '/':
                        this.result = this.n1 / this.n2;
                        break;
                }

                //eval() 计算某个字符串, 其返回值是通过计算这个string的得到的值
                var str = this.n1 + this.opt +this.n2;
                this.result = eval(str);

            }
        }
    })

</script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_44389107/article/details/88983495