vue学习之介绍

一.vue概念

# 1.什么是Vue
# Vue.js是一个渐进式JavaScript框架
# 渐进式:vue从小到控制页面中的一个变量到页面一块内容到整个页面,最终大到整个项目,东可以用vue框架来实现

# vue可以干哪些事
# 将数据渲染到指定区域(数据可以是后台获取,也可以由前台自己产生)
# 可以与页面完成基于数据的交互方式

# 为什么学习Vue
# 1.整合了Angular React框架的优点(第一手API文档是中文的)
# 2.单页面应用(得益于vue的组件化开发 => 前台代码的复用)
# 3.虚拟DOM(提高操作DOM的效应)
# 4.数据的双向绑定

二.如何在页面中使用vue

<body>
    <div id="box1">
        <!--{{ }} 会被vue解析为数据的渲染的指定语法-->
        {{ }}
    </div>
    <hr>
    <div class="box2">
        {{ }}
    </div>
</body>
<script src="js/vue.js"></script>
<script>
    // 如何使用jq框架 <= 拿到jq框架的对象 $ | jQuery
    // 类比:如何使用vue框架 <= 拿到vue框架的对象 new Vue()

    // vue对象需要手动创建, 原因,一个vue对象可以只控制页面中的某一部分, 如果一个页面有多个部分都需要被控制,那么就需要创建多个vue对象
    // vue对象如何与控制的页面进行关联(绑定),采用的是vue对象中的挂载点(挂载点可以唯一标识页面中的某一个区域)
    new Vue({
        el: "#box1"
        // 挂在在id为box1的div上,那么该div下的所有内容都由该vue对象来控制
    })

    new Vue({
        el: ‘.box2‘
        // 挂在在class为box2的div上,那么该div下的所有内容都由该vue对象来控制(尽量使用id,唯一标识)
    })
</script>

三.vue的挂载点(vue实例)

<body>
    <div id="app">
        {{ msg }}
    </div>
</body>
<script src="js/vue.js"></script>
<script>
    // Vue实例会根据数据产生虚拟DOM,最终替换掉挂载点的真实DOM(不要挂在到body上)
    var app = new Vue({
        el: ‘#app‘,
        data: {
            msg: "今晚嘿嘿"
        }
    });

    // 如果需要使用vue对象(实例), 那么久可以接受Vue创建的结果, 反之就不需要接收
    console.log(app);
    console.log(app.$attrs); // vue实例的变量都是以$开头
    console.log(app.$el);
    console.log(app.$data.msg);
    console.log(app.msg);
    // app对象 = new Vue()实例 = 标签div#app组件

</script>

四.vue基础指令

1.文本指令

<body>
    <div id="app">
        <p>{{ info }}</p>
        <!-- v-text 为vue的文本指令 ="info" , info为vue实例data中的一个变量 -->
        <p v-text="info"></p>
        <p v-text="msg"></p>
        <p v-html="res"></p>
    </div>
</body>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: "#app",
        data: {
            info: "插值表达式",
            msg: "文本指令",
            res: "<b>加粗的文本</b>"
        }
    })
</script>

2.属性指令

<body>
    <div id="app">
        <!-- v-bind:属性 = "变量" -->
        <!-- 如果abc自定义属性被v-bind:指令绑定了,后面的值也会成为vue变量, 如果就想是普通字符串, 再用‘‘包裹 -->
        <!-- : 就是 v-bind: 的简写方式 (1.常用 2.一定且只操作属性)-->
        <p v-bind:abc="‘abc‘" v-bind:title="h_info" :def="hehe">abc</p>

        <!--最常用的两个属性 class | style-->

        <!--class-->
        <p :class="a"></p> <!-- 单类名 -->
        <p :class="[a, b]"></p> <!-- 多类名 -->
        <p :class="{c: d}"></p> <!-- 了解: c为类名,是否起作用取决于d值为true|false 开关类名 -->
        <!--style-->
        <p :style="s1"></p> <!-- s1为一套样式 -->
        <p :style="[s1, s2, {textAlign: ta}]">12345</p><!-- 了解: s1,s2均为一套样式, ta是一个变量,专门赋值给textAlign("text-align") --> 

    </div>
</body>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: "#app",
        data: {
            h_info: "悬浮提示",
            hehe: "呵呵",
            a: ‘active‘,
            b: ‘rule‘,
            d: false,
            s1: { // 样式1: 值1, ..., 样式n: 值n
                width: ‘200px‘,
                height: ‘200px‘,
                background: ‘red‘
            },
            s2: {
                borderRadius: ‘50%‘
            },
            ta: ‘center‘
        }
    })
</script>

3.事件指令

<body>
    <div id="app">
        <!-- v-on:事件 = "变量 简写 @ -->
        <!-- 事件绑定的变量可以在data中赋值,但建议在methods中赋值 -->
        <p v-on:click="fn1">11111111111111</p>
        <p @click="fn2">22222222222222</p>
        <!--vue事件的绑定可以传自定义参数-->
        <p @click="fn3(333)">3333333333333333</p>
        <!--vue事件的绑定不传自定义参数, 默认将事件对象传过去了-->
        <p @click="fn4">4444444444444444</p>
        <!--vue事件的绑定传自定义参数, 还要将事件对象传过去了, 要明确传$event-->
        <p @click="fn5(555, $event)">5555555555555555</p>

    </div>
</body>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: "#app",
        data: {
            // 事件在data中提供一个函数地址,可以实现事件
            fn1: function () {
                console.log("11111111111111")
            }
        },
        // 事件尽量(要求)都放在vue实例的methods中
        methods: {
            fn2: function () {
                console.log("22222222222222")
            },
            fn3 (arg) {  // ES6语法
                console.log(arg)
            },
            fn4: function (ev) {
                console.log(ev)
            },
            fn5: function (arg, ev) {
                console.log(arg)
                console.log(ev)
            },
        }
    })
</script>

4.表单指令

<body>
    <div id="app">
        <!-- v-model = "变量" 本质操作的就是表单元素的value -->
        <!--v-model就是完成数据的双向绑定-->
        <form action="">
            <input type="text" v-model="info"> <!-- info变量就是代表输入框的value -->
            <input type="text" v-model="info">

        </form>
        <p> {{ info }} </p>
        <!--v-once只会被赋值一次,就不再改变,并且要结合插值表达式使用-->
        <p v-once="info">{{ info }}</p>
    </div>
</body>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el: "#app",
        data: {
//            info: "初始value",
            info: ""
        },
    })
</script>

原文地址:https://www.cnblogs.com/ye-hui/p/10376692.html

时间: 2024-08-30 18:22:40

vue学习之介绍的相关文章

vue学习笔记——简单的介绍以及安装(一)

学习编程需要的是 API+不断地练习^_^ Vue官网:https://cn.vuejs.org/ 菜鸟教程:http://www.runoob.com/vue2/vue-tutorial.html 1.简单的介绍 Vue.js(读音 /vju?/, 类似于 view) 是一套构建用户界面的渐进式框架. Vue 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. Vue 学习起来非常简单,本教程基于 Vue 2.1.8 版

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa

Vue学习笔记目录

本文为转载,原文:Vue学习笔记目录 Vue介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使用Vue.js. 如果你之前已经习惯了用jQuery操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,你无需手动操作DOM.它通过一些特殊的HTML语法,将DOM和数据绑定起来.一旦你创建了绑定,DOM将和数据

Vue学习笔记进阶篇——列表过渡及其他

本文为转载,原文:Vue学习笔记进阶篇--列表过渡及其他本文将介绍Vue中的列表过渡,动态过渡, 以及可复用过渡是实现. 列表过渡 目前为止,关于过渡我们已经讲到: 单个节点 同一时间渲染多个节点中的一个 那么怎么同时渲染整个列表,比如使用 v-for ?在这种场景中,使用 <transition-group>组件.在我们深入例子之前,先了解关于这个组件的几个特点: 不同于 <transition>, 它会以一个真实元素呈现:默认为一个<span>.你也可以通过 tag

Vue学习笔记进阶篇——多元素及多组件过渡

本文为转载,原文:Vue学习笔记进阶篇--多元素及多组件过渡 多元素的过渡 对于原生标签可以使用 v-if/v-else.但是有一点需要注意: 当有相同标签名的元素切换时,需要通过 key 特性设置唯一的值来标记以让 Vue 区分它们,否则 Vue 为了效率只会替换相同标签内部的内容.即使在技术上没有必要,给在 <transition> 组件中的多个元素设置 key 是一个更好的实践. 示例: <transition> <button v-if="isEditing

vue学习之路 - 4.基本操作(下)

vue学习之路 - 4.基本操作(下) 简述:本章节主要介绍 vue 的一些其他常用指令. Vue 指令 这里将 vue 的指令分为系统内部指令(vue 自带指令)和用户自定义指令两种. 系统内部指令 v-if v-else v-else-if v-for v-on v-bind v-model 以上指令前面都已说明其作用,并且使用过,这里将不再赘述. 下面我们看看 vue 的一些其他常用指令的用法: 在学习 v-text 和 v-cloak 之前我们先看看{{ }}的使用所存在的问题. {{

后端开发者的Vue学习之路(二)

目录 上篇内容回顾: 数据绑定 表单输入框绑定 单行文本输入框 多行文本输入框 复选框checkbox 单选框radio 选择框select 数据绑定的修饰符 .lazy .number .trim 样式绑定 class绑定 对象语法: 数组语法: style绑定 对象语法: 数组语法: 补充: 事件 绑定事件 事件修饰符 按键修饰符 事件绑定的简写 补充: Vue指令 数组操作 官网的话 补充: Vue的元素复用问题 数据残留问题 问题的解决: 首发日期:2019-01-20 上篇内容回顾:

Vue学习笔记入门篇——组件的使用

本文为转载,原文:Vue学习笔记入门篇--组件的使用 组件定义 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 组件使用 注册 注册一个全局组件,你可以使用 Vue.component(tagName, options).组件在注册之后,便可以在父实例的模块中以自定义元素 的形式使用.

Vue学习笔记入门篇——组件的通讯

本文为转载,原文:Vue学习笔记入门篇--组件的通讯 组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B.它们之间必然需要相互通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件.然而,在一个良好定义的接口中尽可能将父子组件解耦是很重要的.这保证了每个组件可以在相对隔离的环境中书写和理解,也大幅提高了组件的可维护性和可重用性.在 Vue 中,父子组件的关系可以总结为 props down, events up.父组件通过 props 向下传递