01 vue.js2.5——基础知识

  前端框架

Vue.js2.5  2018-05-12

Vue官网:https://cn.vuejs.org/

 基础语法+案例实践+TodoList+Vue-cli构建工具+TodoList

核心思想

  • 数据驱动:页面视图和数据绑定双向绑定,不用操纵dom,视图与数据同时改变
  • 组件化 :将业务功能抽离为单独模块

MVVM

  • View:DOM,视图
  • ViewModel:视图和模型双向绑定
  • Model:原生js对象

 

Vue基础语法

创建Vue实例

下载后直接在<head>中<script >引入

<head>
    <meta charset="UTF-8">
    <title>Vue 入门</title>
    <script src="./vue.js"></script>
</head>

引用CDN:

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

 挂载点、模板与实例

挂载点:指页面标签,挂载Vue

模板:挂载点下的内容

实例:JavaScript中new Vue()实例对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue 入门</title>
    <script src="./vue.js"></script>
</head>
<body>
<!--挂载点、模板、实例之间的关系
div为挂载点,通过ID绑定
模板可以写到挂载点内部和实例中-->
<div id="root">{{msg}}
    <!--挂载点内部的内容为模板-->
    <p>这里是挂载点内部的模板{{temMsg}}</p>
</div>
<script>
    // vue实例
    new Vue({
        //指定实例的挂载点,Vue去接管哪个元素内容,绑定DOM节点
        el: "#root",
        // 模板也可以写到实例中,但是这样挂载点中的内容就不会被显示
        template:'<i>这里是实例中的模板{{temMsg}}</i>',
        // 数据内容
        data: {
            msg: "hello world",
            temMsg:"template"
        }
    });
</script>
</body>
</html>

     

 

Vue实例中的数据

数据对象: data

 页面引用实例中的数据:

{{}}、v-text、v-html
<body>
<div id="root">
    <!--{{}}为插值表达式语法
    v-text:Vue中的指令,只能输出文本,会转义
    v-html:Vue中的指令,可以输出标签,不会转义
    -->
    <ul>
        <li>{{msg}}</li>
        <li v-text="vText"></li>
        <li v-html="vHtml"></li>
        <li v-text="content"></li>
        <li v-html="content"></li>
    </ul>
</div>
<script>
    // vue实例
    new Vue({
        el: "#root",
        data: {
            msg: "{{}}双括号插值表达式",
            vText: "v-text是Vue指令",
            vHtml:"v-html是Vue指令",
            content:"<i>测试v-text和v-html之间的不同</i>"
        }
    });
</script>
</body> 

    

Vue中的事件和方法

给元素绑定事件 v-on:也可以简写为@

函数对象:methods

 Vue的特点:面向数据编程,不需要操作DOM,数据改变,页面改变

<body>
<div id="root">
    <!--
    v-on:Vue绑定事件,
    改变挂载点中的内容不要操作DOM,应该修改实例中的数据
    -->
    <ul>
        <li v-on:click="()=>{alert('绑定了点击事件 v-on:click')}">{{msg}}:箭头函数有问题</li>
        <li v-on:click="handleClick">{{msg}}:引用实例中methods对象下的方法</li>
        <li @click="changeData">{{changeMsg}}</li>
    </ul>
</div>
<script>
    // vue实例
    new Vue({
        el: "#root",
        data: {
            msg: "v-on:click   点击事件",
            changeMsg: "点击改变内容"
        },
        methods: {
            handleClick: function () {
                alert("绑定了点击事件 v-on:click")
            },
            changeData: function () {
                // this指向data 修改数据
                this.changeMsg="内容被改变";
            }
        }
    })
    ;
</script>
</body>

   

 属性绑定

属性绑定 v-bind:title='变量名',可以写成 :title='变量名',模板指令
变量名是Vue数据data对象的一个属性,
=号后面是一个js表达式,可以='输入汉字+title'

<div id="root">
    <ul>
        <li title="title 的名字">鼠标移动过来显示</li>
        <li v-bind:title="title">属性绑定</li>
        <!--  =号后边为js表达式  title 是变量-->
        <li :title="'这是一个'+ title">属性绑定</li>
    </ul>
</div>
<script>
    // vue实例
    new Vue({
        el: "#root",
        data: {
            title: "实例中的数据"
        }
    })
</script>

     

 

双向数据绑定

单向绑定:数据决定页面的显示,页面无法决定数据中的内容

双向绑定:模板指令v-model,页面和数据内容任何一个改变,另一个也改变

<div id="root">
    <ul>
        <li><input :value="content"/></li>
        <li><input v-model="content"/></li>
        <li>{{content}}</li>
    </ul>
</div>
<script>
    // vue实例
    new Vue({
        el: "#root",
        data: {
            content: "this is content!"
        }
    })
</script>

      

 

计算属性与侦听器

computed对象中的属性由其它属性计算而来,

其它依赖属性没有变化会使用缓存值,不重新计算

 

watch:侦听器对象;监听数据变化,数据被改变则触发

<div id="root">
    <ul>
        <li>姓:<input v-model="firstName"/></li>
        <li>名:<input v-model="lastName"/></li>
        <li>{{firstName}}{{lastName}}</li>
        <li>fullName 属性计算:{{fullName}}</li>
        <li>侦听姓名修改次数:{{count}}</li>
        <li>侦听fullName数据变化:{{fullCount}}</li>
    </ul>
</div>
<script>
    // vue实例
    new Vue({
        el: "#root",
        data: {
            firstName: "",
            lastName: "",
            count: 0,
            fullCount: 0
        },
        // 计算属性:由其它属性计算而来
        computed: {
            fullName: function () {
                return this.firstName + ' ' + this.lastName;
            }
        },
        // 侦听器:监听数据变化
        watch: {
            // 侦听数据属性
            firstName: function () {
                this.count++;
            },
            lastName: function () {
                this.count++;
            },
            // 侦听计算属性
            fullName: function () {
                return this.fullCount++;
            }
        }
    })
</script>

  

 v-if、v-show、v-for指令

v-if:控制DOM的存在与否,false直接删除DOM

v-show:控制DOM的显示与否,隐藏标签DOM

v-for:遍历数据,循环展示数据,增加 :key=‘item’ 提升效率,但是key值不能相同

 

<div id="root">
    <ul>
        <li><p v-if="show">hello world</p></li>
        <li><p v-show="show">hello world</p></li>
        <li>
            <button @click="handleClick">toggle</button>
        </li>
    </ul>
    <ul>
        <li v-for="item of list">{{item}}</li>
    </ul>
    <ul>
        <li v-for="(item,index) of list" :key="index">{{item}}</li>
    </ul>
</div>
<script>
    // vue实例
    new Vue({
        el: "#root",
        data: {
            show: true,
            list: [1, 2, 3]
        },
        methods: {
            handleClick: function () {
                this.show = !this.show;
            }
        }
    })
</script>

    

 

 

 

 


 

参考菜鸟驿站《Vue.js 入门教程》:http://www.runoob.com/w3cnote/vue-js-quickstart.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 2.5是一种流行的JavaScript框架,用于构建用户界面。它具有轻量级、高效和灵活的特点,易于学习和使用。Vue.js 2.5手册提供了对Vue.js的全面介绍和详细文档,方便开发人员快速上手并掌握其核心概念和功能。 手册的内容包括Vue.js的基本语法、指令和组件等,以及数据绑定、事件处理、组件通信和路由等高级特性。手册还提供了许多示例代码和实际项目案例,帮助开发人员理解如何在实际项目中应用Vue.js进行开发。 通过阅读手册,开发人员可以了解如何创建Vue实例、声明数据属性、处理用户交互事件等。手册还详细介绍了Vue的虚拟DOM(Virtual DOM)概念和响应式系统,帮助开发人员理解Vue.js如何管理和更新视图。此外,手册还解释了如何使用Vue的指令来实现条件渲染、列表渲染和表单处理等常见场景。 在手册中,开发人员还可以了解Vue组件的创建和使用方法,包括局部注册和全局注册。手册还介绍了组件之间的通信方式,包括父子组件通信和兄弟组件通信。此外,手册还详细介绍了Vue路由的使用方法和配置,帮助开发人员实现单页应用的路由跳转和管理。 总而言之,Vue.js 2.5手册是学习和使用Vue.js的重要参考资源,它提供了对Vue.js的全面介绍和详细文档,帮助开发人员快速上手并灵活运用Vue.js进行开发。无论是初学者还是有经验的开发人员,都可以通过阅读手册深入了解Vue.js,并在实际项目中有效地应用Vue.js框架。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值