VueJs学习笔记:基本概念及简单demo

Vue官方介绍:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。

简单小巧指的是vue.js压缩后仅有17KB,量轻。渐进式指的是我们学习和使用vue的过程中是一步一步循序渐进的,不必一开始就学会并使用所有的东西。

1.vue.js在设计上采用的是MVVM模式:当view(视图)层发生变化时,会自动更新到ViewModel(视图模型)层,反之亦然。View和Model通过双向绑定建立联系。大家都使用过JQuery,当页面的数据发生变化的时候,我们经常用JQuery去操作DOM元素来将最新的数据呈现给用户。这样带来的后果是我们的视图代码和业务代码紧紧耦合在一起,随着功能的增加和业务的复杂程度的增加,我们的代码会越来越难维护。

2.而Vue.Js通过MVVM模式将数据和视图双向绑定,我们只需要关注数据即可,剩下操作浏览器DOM的事情Vue帮我们自动完成,这样我们就可以专注于业务代码。

3.我们有两种方式将VueJs引进到自己的项目中,一种是我们直接通过script加载CDN文件:<script src="https://unpkg.com/vue/dist/vue.min.js"></script>,这种方式是自动引入最新版本的VueJs。第二种方式是我们将Vue代码包下载到自己的项目本地,然后在页面中通过script标签引用即可,我觉得如果是自己学习阶段的话可以直接引用CDN文件,这样简单方便。如果是实际项目的话还是将包下载到本地再引用。

4.下面用一段代码演示一下入门用法():

<body>
    <div id="app">
        <input type="text" v-model="name"/>
        <h1>Hello:{{name}}</h1>
    </div>
    <script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>
    <script>    //此处表示创建一个vue示例,并且将此示例挂在到id为app的html元素上
        var app=new Vue({
            el:"#app",       //el是必须的,后边可以是html标签,也可以是css选择器
            data:{
                name:''
            },       created:function(){         console.log(this.name);//此处输出name的值         },       mounted:function(){         console.log(this.$el);//此处输出<div id="app"></div>        }
        });
    </script>
</body>            

运行结果:

5.动手试一下发现,我在输入框中输入内容之后,输入的内容会自动显示在下边,这就是vue双向绑定数据。

6.vue挂载实例的时候一些事件

  created:实例创建完成后调用,此阶段完成了数据的观测等,但尚未挂载,$el还不可用。一般我们需要初始化一些数据的时候会用到这个事件。

  mounted:el挂载到实例后调用,一般我们的第一个业务逻辑会从这里开始

  beforeDestory:实例销毁之前调用,主要用于解绑使用addEventListener监听事件等。

7.这些事件与data类似,也是作为选项写在vue内,并且事件内的this指的是调用它的实例。

8.过滤器:

  我们可以在{{}}插值的尾部添加一个符号:|   对数据进行过滤,经常用于格式化文本数据,比如数字小数位的显示,时间的格式化等。

<body>
    <div id="app">
        {{num|formatNumber}}     <p v-if="show">show为true,显示这段文本</p>
    </div>
    <script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>
    <script>
        var app=new Vue({
            el:"#app",
            data:{
                num: '',          show:true
            },
            created: function () {
                console.log(this.num);//此处输出name的值
            },
            mounted: function () {
                console.log(this.$el);  //此时输出<div id="app"></div>
            },
            filters: {
                formatNumber: function (value) {
                    return Math.round(value);  //返回四舍五入之后的数字
                }
            }
        });
    </script>
</body>  

9.过滤器也可以同时使用多个:{{ num | filter1 | filter2 }},也可以接收参数:{{ num | filter('arg1','arg2') }},这里的字符串arg1和arg2将分别传递给过滤器的第二个和第三个参数,因为第一个是数据本身。

10.指令(directive)是vue最常用的一项功能,它带有前缀v-,例如上述代码中的v-if,还有v-bind,v-on

<body>
    <div id="app">
        <a v-bind:href="url"></a>
    </div>
    <script src="https://unpkg.com/vue@2.6.10/dist/vue.js"></script>
    <script>
        var app=new Vue({
            el:"#app",
            data:{
                show: true,
                url: 'www.fs.com'
            }
        });
    </script>
</body>  a标签渲染后的结果为:<a href='www.fs.com'></a>使用语法糖可以简写为:<a :herf="url"></a>

参考资料:《Vue.Js实战》-梁灏

作者:ADi

转载请注明出处:https://www.cnblogs.com/Infancy/p/10741245.html

VueJs入门(一)的更多相关文章

  1. 中文代码示例之Vuejs入门教程(一)

    原址: https://zhuanlan.zhihu.com/p/30917346 为了检验中文命名在主流框架中的支持程度, 在vuejs官方入门教程第一部分的示例代码中尽量使用了中文命名. 所有演示 ...

  2. 2017-11-09 中文代码示例之Vuejs入门教程(一)

    "中文编程"知乎专栏原链 为了检验中文命名在主流框架中的支持程度, 在vuejs官方入门教程第一部分的示例代码中尽量使用了中文命名. 所有演示都在本地测试通过, 源码在这里. 下面 ...

  3. 2017-10-31 中文代码示例教程之Vuejs入门&后续计划

    "中文编程"知乎专栏原链 为了检验中文命名在主流框架中的支持程度, 这里把vuejs官方入门教程第一部分的示例代码中尽量使用了中文命名. 过程中有一些发现, 初步看来Vuejs对中 ...

  4. 2017-11-20 中文代码示例之Vuejs入门教程(一)问题后续

    "中文编程"知乎专栏原文 第一个issue: Error compiling template if using unicode naming as v-for alias · I ...

  5. vuejs入门备忘&&用vuecli构建应用

    vuejs框架入门 mvvm图例 这张图足以说明MVVM的核心功能,在这三者里面,ViewModel无疑起着重要的桥梁作用. 一方面,通过ViewModel将Model的数据绑定到View的Dom元素 ...

  6. vuejs入门小demo-搜索大全

    这个demo非常适合入门的同学,不再是简单的todolist.用到的知识点有组件通信,过渡效果,vue-rsource,还有一些基本的vue指令. 先放一张截图: 是不是感觉高端大气上档次呢,演示地址 ...

  7. vuejs 入门

    配置环境教程网上太多了,就不赘述了,建议使用npm 命令行安装,总觉得这个念头不会使用命令行配置环境的就不是一个好的程序员,或者为了方便也可以直接在本地建一个.html文件,然后引用下面的链接即可. ...

  8. 第一节:Vuejs入门之各种指令

    一. 简介 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上 ...

  9. VueJs(1)---快速上手VueJs

    [VueJs入门] 版权声明 首先申明:此篇博客不是本人原创,只是最近开始学习vue.jS,看到有作者写的很不错,我仅在它的基础上仅仅是修改了样式 原文博客地址:https://blog.csdn.n ...

随机推荐

  1. wget命令的几个常用选项和示例

    wget命令用来从指定的URL下载文件.wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕.如果是服务器打断下 ...

  2. Go基础系列:为select设置超时时间

    Go channel系列: channel入门 为select设置超时时间 nil channel用法示例 双层channel用法示例 指定goroutine的执行顺序 After() 谁也无法保证某 ...

  3. Hive默认数据库修改配置

    此文是基于上一篇文章:Hive环境搭建及测试 因为Hive默认的数据库是derby,不支持同时开启两个./hive的命令终端: 而将Hive的默认数据库修改成mysql后,可以解决该问题. 仅在安装H ...

  4. 如何用golang获取linux上文件的访问/创建/修改时间

    在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat. 在golang的os包里已经把stat封装成了Stat函数,使用它比使用syscall要方便不少. 这是os.Stat的 ...

  5. asp .net core Get raw request.

      小弟初来乍到,分享一些工作学习中遇到的问题和解决方式,如有不准确或是有错误的地方,希望不吝赐教,谢过了.  --Dogtwo 背景: 一个代理服务器BK,接收前端A发送的请求,记录log,并转发给 ...

  6. cmd Telnet 手工模拟http请求

    telnet Windows系统自带的访问页面命令 首先打开控制面板点击卸载程序 打开windows功能 勾选 telnt 客户端 在打开cmd 命令 输入 telnt www.baidu.com 8 ...

  7. IDEA设置显示中文文档API方法说明

    首先,我们从网上下载好对应的java最新的中文api文档,chm格式的 chm其实相当于一个压缩包,里面有许多html文件 让IDEA显示中文文档,其实原理就是是让IDEA把java的api的对应ht ...

  8. MyBatis:GeneratorConfig生成mapper以及pojo

    首先我们需要导入相应的依赖 之后需要针对的配置一些数据 接着我们需要针对性的写配置文件,在根目录下写mybatis的主要配置文件 如上图我们配置了数据库连接.对应的一些pojo.mapper.java ...

  9. Ansible playbook roles

    1  概述 角色(roles):如果我们使用playbook写成一个文件,这个文件会很大,但是不方便组织,我们可以分组,把playbook根据功能,如handler,tasks等分门别类的放在在各自的 ...

  10. vuejs-指令详解

    v-if v-if指令可以完全根据表达式的值在DOM中生成或移除一个元素.如果v-if表达式赋值为false,那么对应的元素就会从DOM中移除:否则,对应元素的一个克隆将被重新插入DOM中,代码如下: ...