vue-Day01

1、ES6

ECMAScript是浏览器脚本语言的规范,可以狭义理解是javascript的规范

ES6就是javascript用的最多语言规范.已经被各个浏览器实现了

ES6的语法

(1)语法

let 声明块级变量

//(1)let 声明块级变量 (局部变量), var 全局变量
for(var i=0;i<10;i++){
    console.log(i);
}
console.log("i="+i);

console.log("---------------let---------------------")

/*for(let j=0;j<10;j++){
    console.log(j);
}
console.log("j="+j);//报错*/
(2)const

相当于java中的fanal,一旦赋值不能更改

const s = 194;
console.log(s);
// s=20;   如果修改就报错
(3)解构表达式
//解构数组
let arr = [1,2,3];
let [s1,s2,s3]=arr;//解构
console.log(s1,s2,s3);
console.log(s2);

//对象解构
let obj = {"name":"王天霸","age":30};
let {name,age} = obj;//解构
console.log(name+"芳龄:"+age);
(4)箭头函数
let cxk = {
    sing:function(){
        console.log("唱");
    },
    jump(){
        console.log("跳")
    },
    play:(name)=>{
        console.log(name+"会打篮球")
    }
}
cxk.sing();
cxk.jump();
cxk.play("蔡徐坤");

console.log("----------------箭头函数和解构表达式合并使用----------------------");
let say = ({name})=> console.log("我是"+name);
let person = {
    name:"蔡徐坤"
}
say(person);
(5)模块化

暂时无法测试

import/export

2、Vue

Vue概念

(1)Vue是构建界面的渐进式的js框架(前端框架)

(2)只关注视图层, 采用自底向上增量开发的设计。

(3)Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。 --数据双向绑定

Vue使用方法

(1)在项目里面 运行 npm install vue
(2)在页面引入vue.js
<script type="text/javascript" src="node_modules/vue/dist/vue.js"></script>
(3)测试代码
<div id="app">
    
    {{name}}
    
</div>
(4)el挂载

el:挂载,把vue对象 挂载到对应的标签上面去

el方式:

​ (1)id的方式进行挂载

<body>
    <div id="app">
        {{name}}
    </div>
<script>
    new Vue({
       el:"#app",
        data:{
           name:"cxk"
        }
    });
</script>

​ (2) class方法进行挂载

<body>
    <div class="app">
        {{name}}
    </div>
<script>
    new Vue({
       el:".app",
        data:{
           name:"cxk"
        }
    });
</script>

1、data数据

data:可以放字符串 对象 和数组

data: {
            name: "cxk",
            user: {
                name: "坤坤",
                age: 18,
                hobby: ["唱", "跳","rap"]
            }
        }

2、methods方法

methods:{
            add(s){
                console.log("增加一个对象"+s)
            },
            delete(){
                console.log("删除一条数据")
            },
            searche(){
                console.log("高级查询")
            }
        },

3、Vue生命周期

created

​ 表示创建完vue对象的时候,执行内容

mounted

类似于window.onload

​ 表示页面所有的内容 加载(渲染)完之后,执行内容

4、 数据双向绑定

<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>数据绑定</title>
    <!-- 引入vue.js-->
    <script type="text/javascript" src="node_modules/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
    <input type="text" v-model="msg" v-on:change="changeData"/>
    {{msg}}
</div>

</body>
<script>
    let app = new Vue({
        el:"#app",
        data: {
            name: "cxk",
            msg:"改变这个msg内容同时改变"
        },
        methods: {
            changeData(){
                console.log(this.msg);
            }
        }
    });

</script>
</html>

5、v-html指令

对应的改变值

<body>
<div id="app">
    <span v-text="name"></span>--------v-text不能被解析<br>
    <span v-text="user.name"></span>-----v-text不能被解析
    <span v-html="user.name"></span>----v-html已经被解析了
</div>

</body>
<script>
    let app = new Vue({
        el:"#app",
        data: {
            name:"<h1>cxk</h1>",
            user:{
                name:"<h2>蔡徐坤</h2>"
            }
        }
    });
</script>

6、v-for指令

循环

<body>
<div id="app">
    循环数组
    <ul>
        {{user.name}}技能↓
        <li v-for="hobby in hobbys">
            {{hobby}}
        </li>
    </ul>
    <hr>

    循环对象
    <ul>
        <li v-for="u in user">
            {{u}}
        </li>
    </ul>
    <hr>

    带索引循环数组
    <ul>
        <li v-for="(hobby,index) in hobbys">
            {{hobby}}---------{{index}}
        </li>
    </ul>
    <hr>

    带键、值和索引循环对象value key  index
    <ul>
        <li v-for="(value,key,index) in user">
            {{key}} ---- {{value}} ---- {{index}}
        </li>
    </ul>
    <hr>

    循环json数据
    <table>
        <tr>
            <th>id</th>
            <th>name</th>
            <th>age</th>
            <th>sex</th>
        </tr>
        <tr v-for="student in students">
            <td>{{student.id}}</td>
            <td>{{student.name}}</td>
            <td>{{student.age}}</td>
            <td>{{student.sex}}</td>

        </tr>
    </table>

</div>

</body>
<script>
    let app = new Vue({
        el:"#app",
        data: {
            user:{
                name:"蔡徐坤",
                age:18,
                sex:"女?"
            },
            hobbys:["唱","跳","rap","篮球"],
            students: [
                {id:1,name: "张飞", age: 29, sex: "男"},
                {id:2,name: "赵云", age: 30, sex: "男"},
                {id:3,name: "关羽", age: 31, sex: "男"}
            ]
        }
    });
</script>

7、v-bind指令

<body>
<div id="app">
    <img width="100" src="img/1.jpg">
    <img width="100" v-bind:src="imgSrc">
    <img width="100" :src="imgSrc">
    <input type="text" name="username">
    <input v-bind="ShuXing"/>
</div>

</body>
<script>
    let app = new Vue({
        el:"#app",
        data: {
            imgSrc:"img/1.jpg",
            ShuXing:{
                type:"text",
                name:"username"
            }
        }
    });
</script>

8、v-model指令

<body>
<div id="app">
    v-model控制标签的属性的value值<br>
    v-bind控制标签的属性“类别”
    <h1>(1)绑定普通的字符串值</h1>
    <input v-model="inputValue" />
    {{inputValue}}


    <h1>(2)绑定到type=checkbox的input表单元素</h1>
    唱:<input type="checkbox" v-model="checkboxValue" value=""><br/>
    跳:<input type="checkbox" v-model="checkboxValue" value=""><br/>
    rap:<input type="checkbox" v-model="checkboxValue" value="rap"><br/>
    rap:<input type="checkbox" v-model="checkboxValue" value="篮球"><br/>
    我会:{{checkboxValue}}


    <h1>(3)绑定到type=radio的input表单元素</h1>
    打篮球:<input type="radio" v-model="radioValue" value="打篮球"><br/>
    踢足球:<input type="radio" v-model="radioValue" value="踢足球"><br/>
    技能:{{radioValue}}


    <h1>(4)绑定到文本域的值</h1>
    <textarea v-model="textAreaValue"></textarea>
    文本域中的值:{{textAreaValue}}

    <h1>(5)下拉框的值</h1>
    <select v-model="skills">
        <option value="rap">rap</option>
        <option value=""></option>
        <option value=""></option>
        <option value="篮球">篮球</option>
    </select>
    {{skills}}
</div>
</body>
<script>
    let app = new Vue({
        el:"#app",
        data: {
            inputValue:"绑定普通字符串",
            checkboxValue:[],
            radioValue:"打篮球",
            textAreaValue:"绑定到文本域",
            skills:"默认值"
        }
    });
</script>

8、v-show指令

<div id="app">
    <div v-show="show">是否显示了?</div>
    <div v-show="hidden">是否显示了?</div>
    <div v-show="score>80">是否显示了?</div>
</div>
</body>
<script>
    let app = new Vue({
        el:"#app",
        data: {
            "show":true,
            "hidden":false,
            "score":50,
        }
    });
</script>

9、v-if指令

<body>
v-show是设置display属性来隐藏节点<br>
v-if直接不显示节点
<div id="app">
    <div v-if="age < 18">你还未成年,还不能学习java</div>
    <div v-else-if="age>18 && age<60 ">你成年了,可以学java了</div>
    <div v-else>你年纪太大了,不适合学java了</div>
</div>
</body>
<script>
    let app = new Vue({
        el:"#app",
        data: {
            age:80
        }
    });
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值