Hello Vue

目录

1.什么是Vue?

2.第一个Vue

 3.Vue基本语法

4.Vue绑定事件

5.双向绑定

6.组件


1.什么是Vue?

  • Vue 是一套用于构建用户界面的渐进式JavaScript框架。
  • Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层(html+css+js)
  • 与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用

css预处理器: 

css预处理器定义了一门新的语言,其基本思想是,用一门专门的编程语言为css增加一些编程特性,将css作为目标生成文件,然后开发者就只需要用这种语言对css进行目标编码工作,通俗来说就是"用一门专门的编程语言进行web页面样式设计,在通过编译器转换为正常的css文件,以供项目使用".

常用的css预处理器:

  • SASS:基于Ruby,通过服务端处理,功能强大.解析效率高。需要学习Ruby语言,上手难度高于LESS。
  • LESS:基于Node.js,通过客户端处理,使用简单,功能比SASS简单,解析效率也低于SASS但是在实际开发中却足够了.

NPM:管理工具,类似于Maven

2.第一个Vue

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

<!-- View(视图)层 -->
<div id="app1">
    {{message}}
</div>

<!-- 导入Vue -->
<script src="https://lib.baomitu.com/vue/0.12.16/vue.js"></script>
<script>
    var vm1 = new Vue({
        el: "#app1",
        //Model层
        data: {
            message: "hello Vue!"
        }
    });
</script>
</body>
</html>

 这里出现了View和Model那Vm在那哪里呢? 

  • Vue是双向绑定的,并且监听,如果js的值发生了变化那么引用这个值的View层也会发生变化如:

 回车后:

 3.Vue基本语法

我们已经成功的完成了第一个vue程序,而vue却远远不止这些,如果不想使用{{}}来调用js中的属性则可以使用这种方式:

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

<!-- View(视图)层 -->
<div id="app">
    <!--  v-bind:title是vue的指令  -->
    <span v-bind:title="message">
        鼠标悬停几秒
    </span>
</div>

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>

    var vm = new Vue({
        el: "#app",
        //Model层
        data: {
            message: "hello Vue! 当前时间" + new Date()
        }
    });
</script>
</body>
</html>

所看到的 v-bind:被称为指令,指令带有前缀v- 以此来表示他是vue的特殊特性,在这里表示他们会渲染DOM的特殊表示行为,如果在js中进行更改,那么页面上的message也会同时更改!

如for循环指令:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>

<div id="app" >
    <li v-for="(item,index) in items">
        {{item.message}}--{{index}}
    </li>
</div>
<script>
    var mv=new Vue({
        el:"#app",
        data:{
            items:[
                {message:"小步爱看书"},
                {message:"小步爱说话"}
            ]
        }
    })
</script>
</body>
</html>

if标签指令:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <span v-if="fraction>=90">聪明</span>
    <span v-if="fraction>=60">及格了</span>
    <span v-if="fraction<60">继续加油!</span>
</div>

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            fraction:80
        }
    });
</script>
</body>
</html>

4.Vue绑定事件

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

<div id="app">
    <label>
        <!-- 绑定点击事件! -->
        <button v-on:click="sayHi">点击我</button>
    </label>
</div>

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        //函数必须写在methods中!
        methods: {
            sayHi: function () {
                alert("点击了!");
            }
        }

    });
</script>
</body>
</html>

5.双向绑定

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

<div id="app">
    <input type="text" v-model="massage">
    输入的内容:{{massage}}
</div>

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            massage:""
        }

    });
</script>
</body>
</html>

6.组件

组件可以使我们自定义的标签合法化如:

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

<div id="app">
    <xiaobu v-for="item in items" v-bind:xiao="item"></xiaobu>
</div>

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script>
    Vue.component("xiaobu",{
        props:['xiao'],
        template:'<li>{{xiao}}</li>'
    })

    var vm = new Vue({
        el: "#app",
        data:{
            items:['java','php','c#','c']
        }
    });

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

组件无法之间进行绑定!需要props进行接收值来绑定接收!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

123小步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值