vue(一)

vue

前端的发展史

1)html(超文本标记语言) + css(层叠样式表) +js ----> 静态页面

2)jsp(javaee)/asp(.net)/php -->动态页面

3)ajax–> 局部刷新异步请求

​ 同步: (线程) 一个程序执行完之后,才能执行另外一个程序

​ 异步: 不用等待上一个程序执行,并行执行其他内容

​ 局部刷新: 不是整个页面去刷新,只刷新局部

​ 怎么实现局部刷新原理: 异步操作的时候,有回调函数,通过这个回调函数来完成局部刷新

4)jquery --> 它是js的框架 js封装出来的框架 write less do more

5)h5(html5)

6)nodejs(相当js的后台服务) /npm(maven) --很多很多框架

MVVM

MVC : model(模型) view(视图) controll(控制器)

MVVM : model view view-model -->数据的双向绑定

ES6

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

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

ES6的语法

(1)let 它是块级 局部变量, var 不是块级 全局变量

let相较于var,他是块级的。

for(var i=0;i<10;i++){
    console.log(i);
}
console.log("------i----------")
console.log(i);
console.log("============")
for(let j=0;j<10;j++){
    console.log(j);
}
console.log("------j----------")
console.log(j);

(2)const 一旦有值就不能修改(掌握)

// const i=10;
//i=11;

(3)解构表达式(

/*
let arr = [1,2,3];
//解构表达式
let [a1,a2,a3]=arr; // let a1 = arr[0],a2=arr[1]
console.log(a1,a2,a3);
console.log(a3);
*/

//对象解构
// let obj = {"name":"信哥","age":18};
// let {name,age} = obj;
// console.log(name+"年龄是:"+age);

(4)箭头函数

/*var obj = {
    eat:function(){
        console.log("键哥中午吃饭");
    },
    eat1(){
        console.log("键哥早上喝奶")
    },
    eat2:(food)=>{
        console.log("键哥晚上吃"+food+"不用牙齿吃")
    }
}*/

/*
obj.eat();
obj.eat1();
obj.eat2("香蕉");*/

console.log("-----------------------------------");
//箭头+解构一起使用
/*var say = ({name})=> console.log("我是"+name);
var obj1 = {
    name:"王天霸"
}
say(obj1);*/

(5)模块化
import / export

什么是Vue

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

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

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

一句话:vue就是做界面的js框架 (jquery/easyui)

vue的使用

(1)在项目里面 运行 npm install vue

(2)在页面引入vue.js

(3)测试代码

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

el挂载

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

el方式:

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

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

(2) class方法进行挂载

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

data数据

data:放字符串 对象 和数组 都OK

 var app = new Vue({
        el:"#app",
        data:{
            name:"xxxx",
            user:{
               name:"信信",
                age:18,
                hobby:["和何亮打野","和金国打野"]
            }
        }
    });

methods方法

 var app = new Vue({
        el:"#app",
        data:{
            name:"xxxx",
            user:{
               name:"信信",
                age:18,
                hobby:["和何亮打野","和金国打野"]
            }
        },
        methods:{
           eat(food){
               console.log("何亮今天中午吃"+food)
           },
            drink(){
                console.log("何亮今天中午喝什么呀")
            }
        }
    });

Vue生命周期

vue对象 从出生 到死亡 经过这个过程 就叫生命周期

vue生命周期里面钩子方法:

created:(掌握)

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

mounted:(掌握)

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

var app = new Vue({
        el:"#app",
        data: {
            name: "xxxx",
            user: {
                name: "信信",
                age: 18,
                hobby: ["和何亮打野", "和金国打野"]
            }
        },
        methods:{
           eat(food){
               console.log("何亮今天中午吃"+food)
           },
            drink(){
                console.log("何亮今天中午喝什么呀")
            },
            getEmloyees(){
               console.log("发送请求查询员工")
            }
        },
        created(){
            //创建完之后 执行该内容
            console.log("--------11111111---")
        },
        mounted(){
            //渲染完之后 执行该内容
            console.log("--------222222222---");
            this.getEmloyees();
        }
    });

钩子环节

​ created创建对象 --> 渲染标签内容 – >mounted挂载完 -->destory销毁

重点:

​ created/mounted

数据的双向绑定

<body>
    <div id="app">

        <input type="text" v-model="msg" v-on:change="changeData"/>
        {{msg}}

    </div>


<script>
    var app = new Vue({
        el:"#app",
        data: {
            name: "xxxx",
            msg:"test"
        },
        methods: {
            changeData(){
                console.log(this.msg);
            }

        }

    });

</script>

</body>

vue指令-v-text/v-html

指令:vue提供的特殊的标签属性 , 不同的指令会产生不同的效果

<span v-text="name"></span>
        <span v-text="user.name"></span>
        <span v-html="user.name"></span>

  //v-text等效于innerText /v-html 等效于 innerHTML
    var app = new Vue({
        el:"#app",
        data: {
            name: "<h1>xxxx</h1>",
            user:{
                name:"<h2>yyyy</h2>"
            }

        }
    });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值