其他分享
首页 > 其他分享> > v3-06 vue安装+ vue语法(下篇)

v3-06 vue安装+ vue语法(下篇)

作者:互联网

目录

1. 安装VUE脚手架

2. 续vue知识  分支

2.1 分支结构(与java基础类似)

2.2. 循环结构

2.2.1 遍历 数组

2.2.2遍历 对象

2.2.3遍历 集合

2.2.4数据:  --->

表单数据提交

计算属性

1. 反转

面试题

计算属性与方法的区别

钩子函数

三种状态

1. 创建

2. 销毁

3. 修改

总结: 效果加代码

day02总代码区:-------->


1. 安装VUE脚手架


流程略...

2. 续vue知识  分支

2.1 分支结构(与java基础类似)

v-if     如果满足条件,则展现后续内容

v-else-if  除了if之外的其他可能性

v-else 上述条件不满足,展现如下内容

2.2. 循环结构

<!--
   问题: 什么样的数据需要循环
      1. 数组 2. 对象

      语法 v-for 遍历展现的是一个个标签
      v-for="数据元素 in 集合数组 "
-->

2.2.1 遍历 数组

<h2>遍历数组</h2>
<!--<p v-for="item in hobby" >{{item}}</p>-->
<p v-for="aa in hobby" v-text="aa"></p>

2.2.2遍历 对象

<h2>遍历对象</h2>
<!--直接遍历 值展现value-->
<p v-for="users in user" v-text="users"></p>
<!--展示key value值-->
<div v-for="(value,key) in user">
   <p>{{key}}---{{value}}</p>
   <p></p>
</div>
<!--key value index都显示-->
<div v-for="(value,key,index) in user">
   <p>{{key}}---->{{value}}---->{{index}}</p>
</div>

2.2.3遍历 集合

<h2>遍历集合</h2>
<div v-for="users in userList">
   <p>id编号: {{users.id}} ------> 姓名: {{users.name}}</p>
   <p></p>
</div>

2.2.4数据:  --->

表单数据提交

计算属性

1. 反转

<!-- 需求: 将字母进行反转 abc cba
   方法: 将数据拆分成数组,将数组进行反转,
   再讲数组合并为字符串 按照空串拆分 按照空串拼接
   split('')+reverse()+join('')
字符串--》 数组--》反转----》字符串
数据展示----->{{msg.split('').reverse().join('')}}<br>
用户输入: <input type="text" v-model="msg"><br>

计算属性  computed 属性

面试题

计算属性与方法的区别

钩子函数

<!--钩子函数: 整个vue有一个完整的执行过程
如果用户需要对vue的对象进行额外的扩展时,可以采用预留的"接口"进行拓展
我们把项目中提前设定好的"接口"在js中成为钩子函数-->

<!--
   总结 钩子函数 作用: 对原有操作进行扩展 8个函数
   2. 初始化函数4个 修改函数两个 销毁函数两个
   3. mounted()函数标识vue对象实例化成功
   4. 生命周期函数,是vue对象独有的内容 注意写法不要方法哦methods中
-->

三种状态

1. 创建

2. 销毁

3. 修改

总结: 效果加代码

day02总代码区:-------->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vueDay02总结</title>
</head>
<body>
    <div id="app">
        分支:
        <h2>-----当前的成绩-----</h2>
        <input type="text" v-model="score">
        <div v-if="score>99">满分!!</div>
        <div v-else-if="score>85">优秀!!</div>
        <div v-else-if="score>60">及格!!</div>
        <div v-else>再见!!!!</div>
 <hr style= "border:1px dashed #de1e1e" >
        循环结构(三种)
    <!--   <div v-for="item in array">{{item}}</div>-->
        <div v-for="item in user">{{item}}</div>
        <hr>
        key value 循环
        <div v-for="(value,key) in user">
            <p>{{key}}-&#45;&#45;{{value}}</p>
        </div>
        <div v-for="(value,key,index) in user" :key="users.id">
            <p>{{key}}-->{{value}}--->{{index}}</p>
        </div>
        <hr>
        <div v-for="users in users">
            <p>id编号:{{users.id}}-->{{users.name}}</p>
        </div>
        <hr style= "border:1px dashed #de1e1e" >
        数据封装<br>
        输入:<input type="text" v-model="text"><br>
       文本: <textarea v-model="textarea"></textarea><br>
        <select name="city" v-model="city.address1" multiple="true">请选择
            <option value="沈**阳">沈**阳</option>
            <option value="沈阳">沈阳</option>
            <option value="大连">大连</option>
            <option value="抚顺">抚顺</option>
        </select><br>
        value字符非常重要
        <input type="radio" name="sex" v-model="usees.gender" value="男">男
        <input type="radio" name="sex" v-model="usees.gender" value="女">女
        <hr style= "border:1px dashed #de1e1e" >
        属性说明
        当前num是----> {{num}}
        <input type="text" v-model.number="num">
        <button @click="addNum">+10</button>
        <br>
        当前length是----> {{line.length}}
        <input type="text" v-model.trim="line">
        <br>
        鼠标离开,数字变化--->{{line1}}
        <input type="text" v-model.lazy="line1">
        <hr style= "border:1px dashed #de1e1e" >
        新添属性 computed(计算属性)<br>
        01<br>
        输入文字: <input type="text" v-model="word">
        反转---->{{word.split('').reverse().join('')}}
       <br> 02<br>
        输入文字: <input type="text" v-model="word">
        反转---->{{over}}
        <hr style= "border:1px dashed #de1e1e" >
        <br>面试题methods与computed区别<br>
        {{over}}
        {{over}}

        {{overmethod()}}
        {{overmethod()}}
        <br> 计算属性只执行一次,有缓存,方法执行两次<br>
        <hr style= "border:1px dashed #de1e1e" >
        <h3>vue生命周期:  略</h3>
        <hr style= "border:1px dashed #de1e1e" >
        数组的相关方法<br>
       -----> {{shuzu}}<br>
        <input type="text" v-model="finish">
        <button @click="push">最后加</button>
        <button @click="pop">最后删</button>
        <button @click="shift">开头删</button>
        <button @click="unshift">开头加</button>
        <button @click="sort">排序</button>
        <button @click="reverse">反转</button>
        <button @click="splice">替换数据</button>
        <button @click="splice1">删除数据(第二个)</button>

        <h4>所有的方法都测试了, vue(下篇)结束</h4>
        <hr style= "border:1px dashed #de1e1e" >



    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>


    <script>
        const app = new Vue({
            el: "#app",
            data:{
                msg: 123,
                score: '',
                array:[1,2,3,4,5],

                user: {
                    id: 100,
                    name: 'tomcat 猫',

                },
                users: [{id:100,name:"张三1"},
                    {id:200,name:"张三2"},
                    {id:300,name:"张三3"}],
                text:'',
                textarea:'',
                city: {
                    address: ['沈阳'],
                    address1: ['沈阳','大连']
                },
                usees: {
                    gender: '女'
                },
                num:'',
                line: '',
                line1: '',
                word:'abcd',
                shuzu: [1,2,3,4,5],
                finish:''


            },
            methods: {
                addNum(){
                    this.num=this.num+10;
                },
                overmethod(){
                    console.log("计算方法执行!!")
                    return this.word.split('').reverse().join('')
                },
                push(){
                    this.shuzu.push(this.finish)
                },
                pop(){
                    this.shuzu.pop()
                },
                unshift(){
                    this.shuzu.unshift(this.finish)
                },
                shift(){
                    this.shuzu.shift()
                },
                sort(){
                    this.shuzu.sort()
                },
                reverse(){
                    this.shuzu.reverse()
                },
                splice(){
                    this.shuzu.splice(0,1,this.finish)
                },
                splice1(){

                    this.shuzu.splice(1,1)
                }
            },
            computed:{
                over(){
                    console.log("计算属性执行!!")
                    return this.word.split('').reverse().join('')
                }

            }


        });

    </script>

</body>
</html>

标签:遍历,vue,06,name,shuzu,v3,2.2,id,属性
来源: https://blog.csdn.net/pingzhuyan/article/details/118353926