栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Vue.js

Vue基础:使用Vue.js 来画博客首页(一)

Vue.js 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Vue基础:使用Vue.js 来画博客首页(一)

image

一、Vue的核心是什么?

1、首先,我们就来认识一下Vue.js,官网中的定义是:

通过尽可能简单的 API 实现响应式的数据绑定和组合的视图组件。

因此,数据绑定,组件,是整个Vue的核心,而且是响应式的,这个划重点要考(值得注意的是只有当实例被创建时 data 中存在的属性才是响应式的)。

2、数据驱动,数据的改变驱动了视图的自动更新,以前我们的写法都是通过js或者Jquery来操作DOM,前两章咱们也说到了,整个页面里都充斥着DOM操作的语法,不仅仅不美观,而且从效率上大大折扣,多次的渲染使得浏览器疲惫不堪。但是vue就不一样,通过ViewModel来控制,只需要我们修改数据,就能控制DOM,进而控制视图View的展示,而且速度很快,嗯!而且再也不用去操作DOM,去找控件选择器了,(还记得那年,页面里为了做事件而添加的各种id或者class),哈哈这就是MVVM思想的实现。

3、组件化,也是一大核心,通过分离页面,使得整个页面由很多个组件构成,给我们的第一个印象就是,就像我们平时使用到的MVC中的分视图,或者子视图,但是又不一样,虽然组件是一部分,但是却是自己的一个整体,和其他组件相互独立,高内聚低耦合,可以通过自定义标签的形式来使用,比如:

Vue.component("fruit-select", {
    template: `
        
            
                                                               
            
                    
  • 苹果
  •                 
  • 香蕉
  •             
        
    
 `, }); //引用组件名,还可以传递参数,以及通讯等等
二、Vue.js的快速入门 Hello Blog

1、想要使用,必须要学会安装Vue

这里呢,我不想直接用Npm安装一个项目,一般大项目才会用到 NPM 搭建,如果我们只是想在打印一个 Hello Blog ,嗯,或者是一个简单的Html的 todoList 页面,我们可以直接引用vue.js 文件,声明一个全局变量来使用(当然,我们在之后的教程中,会开发一个个人博客系统,里边会有前后台多个页面,那个时候我们再重新搭建我们的工程环境,可以复用今天的样式等,今天就先通过引用一个文件来即可)。

Vue.js 官网下载地址:http://vuejs.org/guide/installation.html,推荐使用开发版本,因为里边会由很多的错误提示等等,

image

现在下来,直接在Html页面里引用就行,今天我就用在线的文件:

2、开始使用Vue来实例化对象赋值


    
    

    简易安装 Vue.js
    
    
    
     博客园:{{ name }} 
    

    

然后运行代码,如下图:

image

一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实例,以及可选的嵌套的、可复用的组件树组成。举个例子,一个 todo 应用的组件树可以是这样的:

根实例
└─ TodoList
├─ TodoItem
│  ├─ DeleteTodoButton
│  └─ EditTodoButton
└─ TodoListFooter
├─ ClearTodosButton
└─ TodoListStatistics

我们会在下一篇文件中的 **组件系统 **章节具体展开。

3、我们还可以通过控制数据来控制页面内容的展示,我们知道,vm就是我们定义的全局变量,如果我们想修改其中的值,我们可以这样

vm.name="Hello Blog" //除了数据属性,Vue 实例还暴露了一些有用的实例属性与方法。它们都有前缀  $ 以便与用户定义的属性区分开来。vm.$data.name="Hello Blog"vm._data.name="Hello Blog"

动图如下:

image

4、不仅如此,我们上边说到了,vue还可以双向数据绑定

修改html展示代码

   博客园:{{ name }} 
        
        
         
    

image

可以看到我们操作的view控件数据,直接影响到了我们的vm.data,并且又进一步影响到了页面,这个时候我们可以想想,以前我们是怎么用Jquery来操作DOM的,是不是简直不敢相信自己的眼睛!都可以这么直接的操作DOM结构和Data数据,嗯!这个时候我们就可以进一步理解到了,VM 这个监控者在一直干什么了。

image

三、常用的一些指令总结 (上)

1、v-text 和 v-html 指令

v-text 指令用于更新标签包含的文本,它的作用跟双大括号的效果一样。我们看看它的用法

两者差不多,但是v-html 可以带样式

       

               var myVueTest = new Vue({            el: '#app',//容器  data: {                author: "老张的哲学",                authorHtml: "老张的哲学",             },            methods: {             }, //通过计算属性过滤数据  computed: { //这个明天讲到  }         });

image

2、v-show 指令

v-show ,用来控制元素的显示/隐藏 ,主要是控制元素的display css属性的。v-show 指令的取值为true/false,分别对应着显示/隐藏。

  
       CSDN
  

 

image

3、v-if 、v-else-if、 v-else 指令

v-if 指令的取值也是为true或false,通过一定的条件,它控制元素是否需要被渲染出来,感觉上和上边的 v-show 很相似,请看

     
         20 "> MOST 
         6 "> MORE 
         ALL 
     

image

4、v-for 指令

这个时候,我们就用到了经常用的三大指令之一,列表渲染 v-for

有时候,我们的data中的存放的数据不是个简单的数字或者字符串,而是数组Array类型,这个时候,我们要把数组的元素展示在视图上,就需要用到vue提供的 v-for 指令,来实现列表的渲染。

  

      
          {{item.name}}
          ({{item.date}})
      
  

 

image


5、代码总结:代码已经上传到Git


    
    

    个人博客 Vue.js
    
    
    
    
    
        
                                                               

//指令v-text                Software Engineer.Currently working in Microsoft co-operation.

                                  
                                      about Me                          

My name is . An amateur programmer who writes code every day and watches movies every day.

                             featured                                           //指令 v-for                    {{item.name}}                     ({{item.date}})                                                             20 ">//指令 v-if v-else-if v-else MOST                   6 "> MORE                   ALL                                            Skills                                           {{item.name}}                                           Contact                                           
  •                     TWITTER: @laozhang                 
  •                 
  •                     微博: @laozhang                 
  •                 
  •                     知乎: //指令 v-html                
  •                 
  •                     GITHUB: anjoy8                 
  •                 
  •                     EMAIL: randypriv at azlinli                 
  •                                            

    2018 LZ's Blog - Hosted by Coding Pages

                

                    京ICP备00000000号             

                               



    作者:SAYLINING
    链接:https://www.jianshu.com/p/067493c96a53


    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/240648.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号