后端快速学习Vue【day1介绍】

简介: 后端快速学习Vue

文章目录


1. Vue.js what is it?


2. Vue.js download or install


3. Hello Vue.js


4. {{}}


5. Property binding


6. User InterAction


7. Bidirectional data binding


8. if and for


9. Component application


1. Vue.js what is it?



Vue (读音 /vjuː/) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库 (opens new window)结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。


2. Vue.js download or install

--


CDN:<script src=“https://unpkg.com/vue@next”>

NPM


# 最新稳定版
$ npm install vue@next


3. Hello Vue.js



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
</head>
<body>
    <div id="app">
        {{message}}
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                message: "Hello Vue.js"
            }
        })
    </script>
</body>
</html>

31.png


4. {{}}


Data driven view

{{}} 插值表达式


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
</head>
<body>
    <div id="app">
        count: {{counter}}
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            //函数简写
            data() {
                return{
                    counter:0
                }
            },
            //会在浏览器dom加载完成之后,执行
            mounted() {
                setInterval(() => {
                    this.counter++
                },1000)
            }
        })
    </script>
</body>
</html>

32.gif


5. Property binding


除了文本插值,我们还可以像这样绑定元素的 attribute:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
</head>
<body>
    <div id="app">
        <span v-bind:title="message">鼠标放这来</span>
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data() {
                return{
                    message:'page load ' + new Date().toLocaleString()
                }
            }      
        })
    </script>
</body>
</html>


6. User InterAction


为了让用户和应用进行交互,我们可以用 v-on 指令添加一个事件监听器,通过它调用在实例中定义的方法


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
</head>
<body>
    <div id="app">
        <button v-on:click="alert">点我加1</button>
        <div>{{count}}</div>
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data() {
                return {
                    message: 'page load ' + new Date().toLocaleString(),
                    count:1
                }
            },
            methods: {
                alert(){
                    this.count++;
                }
            },
        })
    </script>
</body>
</html>


注意在这个方法中,我们更新了应用的状态,但没有触碰 DOM——所有的 DOM 操作都由 Vue 来处理,你编写的代码只需要关注逻辑层面即可。


33.gif


7. Bidirectional data binding


Vue 还提供了 v-model 指令,它能轻松实现表单输入和应用状态之间的双向绑定


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
</head>
<body>
    <div id="app">
        <input type="text" v-model="message">
        <div>{{message}}</div>
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data() {
                return {
                    message: 'page load ' + new Date().toLocaleString(),
                }
            },
        })
    </script>
</body>
</html>

34.gif


8. if and for


控制切换一个元素是否显示也相当简单:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
</head>
<body>
    <div id="app">
        <span v-if="s">看得见我吗</span>
        <button @click="reverse">点击切换显示状态</button>
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data() {
                return {
                    s:true
                }
            },
            methods: {
                reverse(){
                    this.s = !this.s;
                }
            },
        })
    </script>
</body>
</html>

35.gif


还有其它很多指令,每个都有特殊的功能。例如,v-for 指令可以绑定数组的数据来渲染一个项目列表:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
</head>
<body>
    <div id="app">
        <ul>
            <li v-for="item in todos">{{item.text}}</li>
        </ul>
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data() {
                return {
                    todos: [
                        { text: 'Learn JavaScript' },
                        { text: 'Learn Vue' },
                        { text: 'Build something awesome' }
                    ]
                }
            },
        })
    </script>
</body>
</html>

36.png


9. Component application


组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树:


9918e44f09a5486ea95fb629ff55e3fd.png


在 Vue 中,组件本质上是一个具有预定义选项的实例。在 Vue 中注册组件很简单:如对 App 对象所做的那样创建一个组件对象,并将其定义在父级组件的 components 选项中:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
</head>
<body>
    <div id="app">
        <!-- 使用组件 -->
        <hello></hello>
        <hel></hel>
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        // 组件模板编写
        const hello = {
            template:`<h1>Hello Vue Component</h1>`
        }
        const hello1 = {
            template:`<h1>Hello Vue</h1>`
        }
        // 创建Vue实例
        new Vue({
            // 挂载点,被vue管理
            el: '#app',
            // 注册一个或多个组件
            components:{
                // hello组件,简写
                hello,
                // 完整写法
                hel:hello1,
            }
        })
    </script>
</body>
</html>

a156443800eb4c8cbad2e6ce286440eb.png


固定的,很呆板,但是这样会为每个待办项渲染同样的文本,这看起来并不炫酷。我们应该能将数据从父组件传入子组件才对。让我们来修改一下组件的定义,使之能够接受一个 prop:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
</head>
<body>
    <div id="app">
        <!-- 使用组件 -->
        <ul>
            <hello v-for="i in arrs" v-bind:arrs="i" v-bind:key="i.id"></hello>
        </ul>
    </div>
    <script src="./vue/vue.js"></script>
    <script>
        // 组件模板编写
        const hello = {
            props: ['arrs'],
            template: `<li>{{arrs.item}}</li>`
        }
        // 创建Vue实例
        new Vue({
            // 挂载点,被vue管理
            el: '#app',
            data: {
                arrs: [
                    {
                        id: 1,
                        item: '小刘'
                    },
                    {
                        id: 2,
                        item: '小张'
                    }
                ]
            },
            // 注册一个或多个组件
            components: {
                // hello组件,简写
                hello
            }
        })
    </script>
</body>
</html>

37.png


相关文章
|
3天前
|
JavaScript NoSQL Redis
Vue中实现修改邮箱、手机号等流程的大致过程、验证码由后端的redis生成验证(版本1.0)
这篇文章记录了在Vue中实现修改手机号和邮箱的大致流程,包括使用过滤器部分隐藏展示的手机号和邮箱,以及通过点击触发路由跳转的便捷方式。文章还描述了旧号码和新号码验证的界面实现,其中验证码由后端生成并通过弹窗展示给用户,未来可以接入真正的手机验证码接口。此外,还提供了修改邮箱的页面效果截图,并强调了学习是一个永无止境的过程。
Vue中实现修改邮箱、手机号等流程的大致过程、验证码由后端的redis生成验证(版本1.0)
|
3天前
|
JavaScript 前端开发
Vue中传递自定义参数到后端、后端获取数据(使用Map接收参数)
这篇文章讲述了如何在Vue中通过Axios二次封装传递自定义参数到后端,并展示了后端如何使用Map接收这些参数,以及如何避免参数转换错误和统一接口设计的方法。
|
3天前
|
JavaScript
Vue学习之--------插槽【默认插槽、具名插槽、作用域插槽】
这篇文章详细介绍了Vue.js中的插槽概念,包括默认插槽、具名插槽和作用域插槽的使用方式和实际应用示例,通过代码演示了如何在组件中定义和使用插槽来实现内容的灵活替换和展示。
Vue学习之--------插槽【默认插槽、具名插槽、作用域插槽】
|
4天前
|
JavaScript
Vue学习之--------Vue中自定义插件(2022/8/1)
这篇文章介绍了Vue中自定义插件的基本概念和实际应用,包括插件的定义、在`main.js`中使用`Vue.use()`引入插件,并通过代码实例展示了如何创建包含全局过滤器、指令和混入的插件,以及如何在Vue组件中使用这些自定义功能。同时,文章还解释了什么是mixin(混入)以及它的使用方式。
Vue学习之--------Vue中自定义插件(2022/8/1)
|
4天前
|
JavaScript 开发工具 git
Vue学习之--------脚手架的分析、Ref属性、Props配置(2022/7/28)
这篇文章分析了Vue脚手架的结构,并详细讲解了`ref`属性和`Props`配置的基础知识、代码实现和测试效果,展示了如何在Vue组件中使用`ref`获取DOM元素或组件实例,以及如何通过`Props`传递和接收外部数据。
Vue学习之--------脚手架的分析、Ref属性、Props配置(2022/7/28)
|
4天前
|
JavaScript 容器
Vue学习之--------组件在Vue脚手架中的使用(代码实现)(2022/7/24)
这篇文章通过代码示例和项目目录结构图,介绍了如何在Vue脚手架中使用组件来实现一个产品列表页。文章详细展示了组件的编写、引入、注册和使用步骤,并提供了实际效果截图。同时,文章还友情提示读者需要使用Vue脚手架来完成这些操作。
Vue学习之--------组件在Vue脚手架中的使用(代码实现)(2022/7/24)
|
4天前
|
JavaScript 程序员
Vue学习之--------组件嵌套以及VueComponent的讲解(代码实现)(2022/7/23)
这篇文章通过代码示例和效果图,详细阐述了Vue中组件的嵌套使用,包括创建组件、组件间的嵌套、注册组件以及实现的效果。同时,文章还介绍了VueComponent的相关知识,包括组件实例对象和Vue实例对象的区别。
Vue学习之--------组件嵌套以及VueComponent的讲解(代码实现)(2022/7/23)
|
4天前
|
JavaScript 容器
Vue学习之--------组件的基本使用(非单文件组件)(代码实现)(2022/7/22)
这篇文章讲解了Vue中组件的基本使用方法,包括组件的定义、注册和使用过程,并通过代码实例演示了非单文件组件的创建和使用,同时指出了一些使用组件时的注意事项。
Vue学习之--------组件的基本使用(非单文件组件)(代码实现)(2022/7/22)
|
4天前
|
JavaScript 前端开发 安全
Vue学习之--------内置指令的使用【v-bind、v-model、v-for、v-on、v-if 、v-else、v-show、v-text。。。】(2022/7/19)
这篇文章详细介绍了Vue中常见的内置指令,如v-bind、v-model、v-for、v-on、v-if、v-else、v-show、v-text和v-html等,并通过代码示例演示了它们的使用和效果。
Vue学习之--------内置指令的使用【v-bind、v-model、v-for、v-on、v-if 、v-else、v-show、v-text。。。】(2022/7/19)
|
4天前
|
JavaScript 前端开发
Vue学习之--------Vue中收集表单数据(使用v-model 实现双向数据绑定、代码实现)(2022/7/18)
这篇文章介绍了Vue中使用v-model实现表单数据收集的方法,包括基础知识、代码实例和测试效果,并提供了一些额外建议。
Vue学习之--------Vue中收集表单数据(使用v-model 实现双向数据绑定、代码实现)(2022/7/18)