【一】认识vuejs

一、学习vuejs的目的

1.原有项目使用vue进行重构
2.使用vue的技术栈
3.前端必备技能

二、vuejs

  • vue是一个渐进式的框架,什么是渐进式的呢?
    • 渐进式意味着你可以将vue作为你应用的一部分嵌入其中,带来更丰富的交互体验
    • 或者如果你希望将更多的业务逻辑使用vue实现,那么vue的核心库及其生态系统
    • 比如core+Vue-riuter+Vuex,也可以满足你各式各样的需求
  • vue有很多特点和web开发中常见的高级功能
    • 解耦视图和数据
    • 可复用的组件
    • 前端路由技术
    • 状态管理
    • 虚拟DOM

三、安装vue

1.CDN安装
对于制作原型或学习,你可以这样使用最新版本:

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

对于生产环境,我们推荐链接到一个明确的版本号和构建文件,以避免新版本造成的不可预期的破坏:

<script type="module">
  import Vue from 'https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.esm.browser.js'
</script>

2.直接下载安装
直接下载并用 <script> 标签引入,Vue 会被注册为一个全局变量。
https://cn.vuejs.org/v2/guide/installation.html
3.NPM安装
在用 Vue 构建大型应用时推荐使用 NPM 安装[1]。NPM 能很好地和诸如 webpackBrowserify 模块打包器配合使用。同时 Vue 也提供配套工具来开发单文件组件

# 最新稳定版
$ npm install vue

四、第一个vue代码

<body>
    <div id="app">
        <h1>{{message}}</h1>
        <h2>{{author}}</h2>
    </div>

    <script src="../js/vue.js"></script>
    <script>
        //let(定义变量) const(定义常量)
        //编程范式:声明式编程
        const app = new Vue({
            el: "#app", //用于挂载要管理的元素
            data:{//定义数据
                message: '你好啊,李银河',
                author: '王小波'
            }
        }) 
    </script>
</body>

代码做了什么事情?
创建了一个vue对象

  • 创建vue对象时,传入了一些options:{}
    • {}中包含了el属性:该属性决定了这个vue对象挂载到哪一个元素上,这里挂载到了id为app的元素上
    • {}中包含了data属性:该属性中通常会存储一些数据
      • 这些数据可以是我们直接定义出来的,比如像上面这样
      • 也可能是来自网络,从服务器加载的
  • 浏览器执行代买的流程
    - 执行到10-13行代码显示出对应的html
    - 执行第19行代码创建vue实例,并且对原Html进行解析和修改
  • 并且,目前我们的代码是可以做到响应式的

五、vue列表显示

<body>
    <div id="app">
        <ul>
            <li v-for="item in movies">{{item}}</li>
        </ul>
    </div>
    <script src="../js/vue.js"></script>
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                message: '你好呀',
                movies: ['spider', 'x man', '大话西游', '功夫']
            }
        })
    </script>
</body>
  • 数据列表
    • 现在从服务器请求过来一个列表】
    • 希望展示到HTML中
  • HTML代码中,使用v-for指令
  • 不需要在JavaScript代码中完成DOM的拼接相关操作了
  • 更重要的是,它是响应式的
    • 也就是说,当我们数组中的数据发生改变时,界面会自动改变
    • 依然让我们打开开发者模式的console,来试一下
app.movies.push('逃学威龙')

六、案例:计数器

<body>
    <script src="../js/vue.js"></script>
    <div id="app">
        <h2>当前计数:{{counter}}</h2>
        <!-- <button v-on:click="counter++">+</button>
        <button v-on:click="counter--">-</button> -->
        <button v-on:click="add">+</button>
        <button v-on:click="sub">-</button>
    </div>
    <script>
        const app = new Vue({
            el: "#app",
            data: {
                counter: 0
            },
            methods: {
                add: function(){
                    console.log('add被执行');
                    this.counter++
                },
                sub: function(){
                    console.log('sun被执行');
                    this.counter--
                }
            }
        })
    </script>
</body>
  • 现在,我们来实现一个小的计数器
    • 点击+ 计数器+1
    • 点击-计数器-1
  • 这里,我们又要使用新的指令和属性了
    • 新的属性:methods,该属性用于在vue对象中定义的方法
    • 新的指令:v-on:click,该指令用于监听某个元素的点击事件,并且需要指定当发生点击时,执行的方法(方法通常是methods中的方法)
    • @click是v-on:click的语法糖,简写
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 简介:这是一篇超级简单的入门文章 如果说是JQuery是手工作坊,那么Vue.js就像是一座工厂,虽然Vue.js...
    景行1023阅读 235,484评论 56 299
  • ### 什么是Vue.js + Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(Reac...
    JLong阅读 1,477评论 0 0
  • 此文章仅记录学习Vue中一些平常自己没有去学习到知识,很多东西都是基于自我的认知去写的。文中可能会有理解错误的地方...
    Mstian阅读 864评论 0 10
  • 理解vue 引用一段官方的原话: Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式...
    绰号陆拾柒阅读 2,470评论 3 6
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 6,147评论 0 5

友情链接更多精彩内容