世界就像一个巨大的图书馆,我们读着别人,做着自己,等待被读。 :

前端框架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等。

 

 

  

  

posted @ 2019-12-12 10:48  Secret_Wu  阅读(491)  评论(0编辑  收藏  举报