Vue入门

Vue

Vue是一套用于构建用户界面的渐进式框架,与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库(vue-router,vue-resource,vuex)或既有项目整合。
第一个Vue程序

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

<div id="app">
    {{message}}
</div>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
        message: "Hello Vue"
    }
  });
</script>
</body>
</html>

在这里插入图片描述

Vue基本语法

v-bind

Vue中数据和DOM建立连接,所有东西都是响应式的。在控制台操作对象属性,界面可以实时更新。

<div id="app">
    <span v-bind:title="message">
        鼠标悬停
    </span>
</div>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
        message: "Hello Vue"
    }
  });
</script>

在这里插入图片描述
控制台中修改message的值,绑定了title属性的html也进行了更新

在这里插入图片描述

v-if

vue模版中的if

<div id="app">
    <h1 v-if="ok">yes</h1>
    <h1 v-else>no</h1>
</div>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
        ok: true
    }
  });
</script>

在这里插入图片描述
同理更改ok为false前端也是实时更新

在这里插入图片描述
v-else-if写法相同

v-for

<div id="app">
    <li v-for="item in items">
        {{item.message}}
    </li>
</div>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
        items: [
            {message: "张三"},
            {message: "法外狂徒"}
        ]
    }
  });

写法类似于python

在这里插入图片描述
还有一个常用的index属性

<div id="app">
    <li v-for="(item,index) in items">
        {{item.message}}--{{index}}
    </li>
</div>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
        items: [
            {message: "张三"},
            {message: "法外狂徒"}
        ]
    }
  });
</script>

在这里插入图片描述

Vue绑定事件

v-on:事件=“方法”
事件有Vue的事件和前端页面本身的事件。这里click是vue的事件,可以绑定到Vue中的methods中的事件方法

<div id="app">
   <button v-on:click="sayHi">click me</button>
</div>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
        message: "c7ay"
    },
    methods: {
        sayHi: function(){
            alert(this.message)
        }
    }
  });
</script>

在这里插入图片描述

Vue双向绑定

什么是双向数据绑定
Vue.js是一个MVVM框架,即数据双向绑定,即当数据发生变化的时候,视图也就发生变化,当
视图发生变化的时候,数据也会跟着同步变化。
值得注意的是,我们所说的数据双向绑定,一定是对于UI控件来说的,非UI控件不会涉及到数
据双向绑定。单向数据绑定是使用状态管理工具的前提。如果我们使用vuex,那么数据流也是单项
的,这时就会和双向数据绑定有冲突。
vue中使用v-model指令在表单、和元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。

<div id="app">
   输入的文本:<input type="text" v-model="message">{{message}}
</div>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
        message: ""
    }
  });
</script>

在这里插入图片描述

<div id="app">
   <select v-model="selected">
    <option>A</option>
    <option>B</option>
    <option>C</option>
   </select>
   <span>value:{{selected}}</span>
</div>
<!--导入vue.js-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>

<script>
  var vm = new Vue({
    el: "#app",
    data: {
        selected: ""
    }
  });
</script>

在这里插入图片描述

专注,勤学,慎思。戒骄戒躁,谦虚谨慎

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值