使用 Vue.js 创建一个 CNODE 社区 (1) - 入门

终于学到了 Vue,选的毕设是用 Vue 创建一个类似 CNODE 的社区。

Vue 作为一个主要运用了 MVVM 架构的框架,很值得我们去学习,就先从 Vue 的官方网站教程中过一遍 demo,尽快熟悉关于 Vue 的各种基础概念。

简述MVVM

MVVM 和 MVC 一样,也是一种代码组织形式。

他把代码分为三个部分,分别是:

Model 表示对数据的操作

View 表示视图

ViewModel 把 Model 的变化更新到 View 上,把 View 的修改同步到 Model

参考答案

MVVM是Model-View-ViewModel的缩写。MVVM是一种设计思想。Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。

在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。

ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。

ViewModel 把 Model 的变化更新到 View 上,把 View 的修改同步到 Model

Vue.js的优点

1.学习曲线平缓

2.易上手

3.功能强大

4.使用范围广

创建 Vue 实例

一个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的。通过构造函数 Vue 就可以创建一个 Vue 的根实例,并启动 Vue 应用---入口

必不可少的一个选项就是 el 。 el 用于指定一个页面中己存在的 DOM 元素来挂载 Vue实例,可以是标签。也可以是css语法

通过 Vue 实例的 data 选项,可以声明应用内需要双向绑定的数据。建议所有会用到的数据都预先在 data 内 声明,这样不至于将数据散落在业务逻辑中,难以维护。也可以指向一个已经有的变量

{{ msg }}

var app = new Vue({

el:'#app',

data:{}

})

Vue 文本插值

Vue .js 只支持单个表达式,不支持语句和流控制。如三元运算符也是支持的。

{{ msg }}

{{ a }}

var app = new Vue({

el:'#app',

data:{

msg:'vue.js',

a:2

},

})

// 访问 Vue 实例的属性

console.log(app.$data)

console.log(app.$el)

// 访问data元素的属性-- 直接app.属性名,app.msg

console.log(app.a)

Vue 初探生命周期

每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

{{ msg }}

var app = new Vue({

el:'#app',

data:{

msg:'vue.js',

a:2

},

created:function(){

alert('Vue 实例创建完成,还未挂载到 DOM')

},

mounted:function(){

alert('Vue 实例已经挂载到 DOM')

}

})

Vue 过滤器

Vue. 支持在{{}}插值的尾部添加一小管道符 “ | ” 对数据进行过滤,经常用于格式化文本,比如字母全部大写、货币千位使用逗号分隔等。过滤的规则是自定义的, 通过给 Vue 实例添加选项 filters 来设置

div id="app">

{{ msg }}

{{ a }}

{{ date }}

{{ date | formatDate}}

js vue 创建一个div_Vue.js 创建一个 CNODE 社区(1)相关推荐

  1. egg.js入门教程视频文件(转载于cnode社区)

    记得上篇博客我满怀欣喜的去搞富文本,结果撞的头破血流. 简直是惨不忍睹.后来我也说了,我的那个有比较严重的问题,后期会考虑重构.(第一版已经放弃了) 之后我说我会去看关于后端nodejs koa框架方 ...

  2. js 操作vuex数据_Vue.js中使用Vuex实现组件数据共享案例

    当组件中没有关联关系时,需要实现数据的传递共享,可以使用Vuex 先不管图片 一.安装 在vue cli3中创建项目时勾选这个组件就可以了 或者手动安装 npm install store --sav ...

  3. 图灵访谈系列之九:CNode社区谈Node.js技术及生态

    Node.js在各种技术会议上的分享越来越火热,为了让更多的人了解Node.js以及Node.js中文技术社区CNode,12月10日在易宝支付举行第三期Node.js北京分享会--NodeParty ...

  4. [置顶] 图灵访谈系列之九:CNode社区谈Node.js技术及生态

    Node.js在各种技术会议上的分享越来越火热,为了让更多的人了解Node.js以及Node.js中文技术社区CNode,12月10日在易宝支付举行第三期Node.js北京分享会--NodeParty ...

  5. 创建第一个three.js三维场景,可通过鼠标缩放与移动方块(vue中使用three.js02)

    three.js创建可鼠标操作立方体 一.three.js创建鼠标操作立方体几个重要步骤 1.创建场景 2.创建网格模型 3.创建光源 4.创建相机 5.创建渲染器 6.创建控件对象 7.渲染 二.全 ...

  6. Three.js的学习之路(一丶创建项目/画出第一个3D模型)

    前言: 最近有点无聊,学学three.js,记录一下学习过程,随便给大家避避坑. 我的目标是完成一个室内设计预览的效果(下图),任重而道远啊,最后能不能坚持下去也不知道,不一定有这么多时间去搞,拭目以 ...

  7. vue如何使用原生js写动画效果_原生js写一个无缝轮播图插件(支持vue)

    轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...

  8. vue react angular 分别如何创建一个新项目

    前提,这三个框架都需要依赖node.js 环境,并且node.js 包含npm环境 Vue: (vue-cli 3之前的版本) 1. 全局安装vue-cli 和 webpack npm install ...

  9. 宝塔面板部署nuxt_MacOS下创建及部署vue.js项目(及Nuxt.js、PM2等相关流程)

    开发环境 权限准备 为避免后续流程出现权限不足的相关提示,首先在终端中输入以下代码检查当前系统是否已开启了对系统文件夹的保护: csrutil status 若结果为csrutil enabled,则 ...

  10. js 或者vue中for循环去掉最后一个逗号

    js 或者vue中for循环去掉最后一个逗号 一个感觉很简单的问题,刚开始我没有思路,现在也没有更好的思路 问题描述: 后端返回的一个数组,前端这边需要循环把名字展示,要求在展示时,每个名字后用** ...

最新文章

  1. [深度学习] keras的EarlyStopping使用与技巧
  2. ios开发中,User Defined Runtime Attributes的应用
  3. 《剑指offer》c++版本 3.数组中重复的数字
  4. javascript中操作字符串小结
  5. 逆元~(乘法逆元及其应用)
  6. 别去取悦,心里没你的人
  7. 时间管理——你不可不知的3种时间管理方法
  8. JAVA 版本微信公众管理开源项目招募伙伴
  9. 十大经典排序算法6(Python版本)
  10. prototype中的$H函数的用法
  11. PHP将图片转换成base64编码,hash函数
  12. 各大媒体优劣对比_各种媒体的优缺点分析()
  13. R语言—数据的调整与处理
  14. java 获取农历日期
  15. 细数互联网企业组织架构大调整
  16. 感谢时光让我在最美的年纪遇到你
  17. (循环串)Periodic Strings UVA - 455
  18. 冯诺依曼体系结构、哈佛体系结构与改进型哈佛结构之间的区别
  19. MLDonkey命令手册
  20. mysql5.7 密钥_mysql5.7密码登录的那些坑

热门文章

  1. 广东省惠州市谷歌卫星地图下载
  2. HTML+JS 写一个 个人博客(初学版)
  3. Android移动开发基础案例教程 第3章 Activity
  4. 打印系统开发(56)——打印机驱动程序设计指南
  5. Oracle 11g数据库基础教程(第2版)-课后习题-第六章
  6. 【C语言】英雄联盟英雄查询系统(源码)
  7. Python设计模式:外观模式
  8. CarMaker快速入门
  9. 2:Carmaker+Simulink+Canoe联合仿真,搭建ADAS HIL测试环境
  10. python与c语言数据交互,python与c语言交互---学习012