zoukankan      html  css  js  c++  java
  • 前端框架Vue自学之初见Vue(一)

    终极目标:掌握和使用Vue(全家桶:Core+Vue-router+Vuex)

    本博客目的:记录Vue学习的进度和心得(初见Vue)

    内容:通过官网一些小实例,初步对Vue有所理解。

    正文:

    初见Vue

    一、Vue.js安装(分为开发环境版本和生产环境版本)

      1、直接CDN引入(在script标签的src引入完整源文件地址)

      2、官网下载和引入

      3、NPM安装(后续通过webpack和CLI的使用,就用该方式)

    二、helloVue事例

      1、尽量以ES6标准去写,定义变量用let,而不是var,定义常量用const。

      2、之前原生JS的做法是一步一步做(编程范式:命令式编程),现在的vue的做法是外部声明内部(Vue实例)管理(编程范式:声明式编程)。后者在三大框架都很流行。优点:数据与界面完全分离,响应式(数据变了,界面响应改变对应部分)。

      3、创建的Vue对象,传入了一些options:{},包括el属性:决定这个Vue对象挂载到哪一个元素上;data属性:通常会存储一些数据,其可以是我们直接定义的,也可以是来自网络,从服务器加载的。

    三、Vue列表的展示

      1、使用v-for指令。(同样也是响应式的,在数据部分修改,如添加,还是可以渲染更新页面)

    四、小案例-计数器

      1、使用v-on:监听事件。简写是@(相当于一个语法糖)。

      2、事件比较复杂的时候,把事件名称放在HTML元素的v-on绑定,然后在vue实例里面的methods属性下,定义该事件(方法)。

      3、取事件涉及到的数据时候,在方法里面使用this指向vue实例,从而调用相关数据。

    五、Vue中的MVVM

      

        View层:

      1、视图层

      2、在我们前端开发中,通常就是DOM层

      3、主要的作用是给用户展示各种信息

      Model层:

      1、数据层

      2、数据可能是我们固定的死数据,更多的是来自我们服务器,从网络上请求下来的数据,也有可能是JS对象的数据形式

      ViewModel层:

      1、视图模型层

      2、视图模型层是view和model沟通的桥梁

      3、一方面它实现了 data binding,也就是数据绑定,将model的改变实时的反应到view中

      4、另一方面它实现了DOM listener,也就是DOM监听,当DOM发生一些事件(点击、滚动、touch等)时,可以监听到,并在需要的情况下改变对应的data

    举个简单例子:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 <title></title>
     6 <script src="vue.js" type="text/javascript" charset="utf-8"></script>
     7 </head>
     8 <body>
     9     <div id = 'app'>
    10         {{message}} {{date}}
    11     </div>
    12     <div id = 'app-2'>
    13         <span v-bind:title = 'message'>
    14             鼠标悬停几秒钟查看此处动态绑定的提示信息!
    15         </span>
    16         </div>
    17     <script>
    18         var app = new Vue({
    19             el:'#app',
    20             data:{
    21                 message: 'Hello World Vue!',
    22                 date: 20191128
    23             }        
    24         });
    25         var app2 = new Vue({
    26             el:'#app-2',
    27             data:{
    28                 message : '页面加载于' + new Date().toLocaleString()
    29             }
    30         });    
    31     </script>    
    32 </body>
    33 </html>

    分析:body下面的div模块就是展示给用户看的东西,这属于DOM,也就是View部分。而要展现的数据内容是data:{message:XX}的部分,这个就是Model部分。Model需要借助View Model展示到View中(这个过程就是Data Binding),也就是说我们新建的vue实例app就是我们的View Model。当我们在视图层(view)发生事件,例如我们把鼠标悬挂了第二个div模块,由于其被我们的viewModel,即app2(第二个新建的vue实例)监听到了(这个过程就是DOM listener),指向相应处理数据(在Model的data),然后又因数据绑定,执行相应处理程序,在界面显示。

    总结:有了Vue帮助我们完成ViewModel层的任务,在后续的开发,我们就可以专注于数据的处理,以及DOM的编程工作了。

    六、创建Vue实例传入的Options

      1、我们在创建Vue实例时,传入了一个对象Options,其有很多属性,具体可以看官网的API文档

      2、目前学到的属性有:

        el:类型:string|HTMLElement   作用:决定之后得Vue实例会管理哪一个DOM。

        data:类型:Object|Function(组件当中data必须是一个函数)   作用:Vue实例对应的数据对象。

        methods:类型: {[key:string]:Function}  作用:定义属于Vue的一些方法,可以在其他地方调用,也可以在指令中使用。

    七、Vue的生命周期

      1、生命周期:事物从诞生到消亡的整个过程。每个Vue实例也是有生命周期的,周期内会发生一系列事情,即有很多阶段。在开发中,我们是希望在vue实例内部的生命周期某个或某些阶段中进行某些我们想要做的操作(使用回调函数),例如最简单是让Vue实例输出它当前所处的阶段到控制台。用专业术语来说就是,过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

      2、生命周期具体可以看官方的生命周期图示。其回调函数有:created,mounted、updated 和 destroyed等。

      

      

  • 相关阅读:
    使用discourse 作为社区工具
    dremio schema 更新的问题
    go-mysql-server 新版本发布
    开发一个dremio user_agent 解析函数
    java 几个不错的user_agent 解析工具包
    Docker Swarm 高可用详解
    用Docker Swarm实现容器服务高可用
    Docker 1.12 :认识 Swarm 模式下的节点崩溃处理
    Linux下磁盘分区调整(在不使用LVM的情况下)
    docker-swarm----多机容器管理
  • 原文地址:https://www.cnblogs.com/xinkuiwu/p/12027858.html
Copyright © 2011-2022 走看看