2018-04-13 vue-cli,vue概述,vue 指令

                            vue-cli

脚手加安装

 1.安装 npm npm install -g 

 2.安装cnpm淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org

 3.安装vue-cli(构建vue环境) cnpm install -g vue-cli

 4.安装打包工具webpack初始化项目 vue init webpack 项目名称 

 5.进项目 cd 项目名

 6.安装package.json安装插件c cnpm install 

 7.运行 npm run dev1. packpag.json中 在终端运行(npm run dev/build/lint)scripts 开发脚本dev 开发模式build 上线模式( 压缩合并 )lint 检测有没有语法错误dependencies 开发依赖环境为什么要压缩合并上线?提高用户体验

1.更改端口号 prot config => index.js => dev => prot

2.src 指源码 (一般在src中开发)

3. src中的东西 App.vue 根组件 components 子组件 router 路由器 main . js vue会把vue用到的文件合并生成一个main . js (主入口文件)

4.index.html 主模板 默认入口文件 main . js代码放在主模板 视图容器放在根组件模板中

5. import 引用文件的 (npm安装的文件) 首先要有 文件导出 export default {} import 名字 from 地址 @符只能引到src中的文件

6. main.js 文件 导入文件 vue router App(根组件) 实例vue new Vue({ el : "#app", // 根组件 index.html 里使用的 router, //路由 components :{ App}, template : "" // 默认使用模板(根组件模板) }) 

7. 那个组件里用组件就那个里引组件

8. router配置 (router => index.js) 

       import Vue from "vue" //导入

      vue import Router from "vue-router" //导入 

     vue-router import Hello from "@ / components/Hello" //导入组件

     Vue . use (Router) //安装

    vue-router export default new Router({ //导出Router实例 routes : [ //配置     路由 { path:" / " , components : Hello //导入文件时的名字 } ] })

9. 使用sass//在这个组件中使用sass布局


                            vue概述

一、MVC(Model-View-Controller)

MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。

二、MVVM(Model-View-ViewModel)

View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。(ViewModel可以理解为实例)

三、虚拟DOM

1、用 JavaScript 对象结构表示 DOM 树的结构;然后用这个树构建一个真正的 DOM 树,插到文档当中。

2、当状态变更的时候,重新构造一棵新的对象树。然后用新的树和旧的树进行比较,记录两棵树差异

3、把2所记录的差异构建到真正的DOM树上

四、计算属性 computed

计算属性是基于数据的依赖关系进行缓存的。计算属性只会在某些数据依赖项发生更改时才会重新评估。

(我们可以使用 methods 来替代 computed,效果上两个都是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。)

五、watch

当你有一些数据需要随着另外一些数据变化时 可以使用watch ,过度滥用 watch 属性会造成一些性能问题

computed methods watch的区别:

1)computed与watch

尽量用computed计算属性来监视数据的变化,因为它本身就这个特性,用watch没有computed“自动”,手动设置使代码变复杂。

2)computed与methods

computed是计算属性,methods是方法。计算属性只会在某些数据依赖项发生更改时才会重新评估。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。

六、父子组件传参

父传子:

通过在子组件里面声明一个props属性 在使用子组件的时候 使用 v-bind:(props 定义的属性名)

子传父:

1、在子组件中通过 $emit('事件名','要传递的数据')向上传递一个 事件

2、在调用子组件的时候,用v-on:'事件名'='父组件的事件处理函数'

3、父组件的事件处理函数的参数中获得子组件传递过来的值

路由传参:

第一步:在路由字典中配置 规则(/info/:id)id就是想传递的参数

第二步:在router-link 中 :to={path:/info/+item.id}

第三步:在info这个组件中 通过 $router.params.id 获得传递过来的参数

vue生命周期 的八个钩子函数

1、beforeCreate/created

在页面创建的时候调用,且仅执行一次。此时页面的DOM元素还未生成,若在created中执行document.getElementsByClassName(‘name’)将得不到任何数据。

2、beforeMount/mounted

针对组件,在组件【初次】被渲染的时候调用。若某一个组件v-if=false则表示该组件未被渲染过,当组件v-if=true初次被渲染的时候,调用该函数。注意,当v-if再次为false时mounted不会再被调用。

3、beforeUpdate/updated

当组件中有数据发生改变的时候即调用

4、beforeDestroy/destroyed

Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁 

this.$destroy() 函数销毁组件


                     vue指令

$on 绑定事件(js里)

@    绑定事件 (模板里)

v-bind:title="message"  鼠标悬停几秒钟查看此处动态绑定的提示信息!

v-bind 指令意思是将元素节点title特性和vue实例的message属性保持一致

v-if 返回true元素添加

返回false元素删除

v-show 返回true元素显示

返回false元素隐藏

v-for  循环遍历数据,元素

v-for = "(item , index) in arr"

item 数据

index 下标

注意:不能循环视图模型 根元素

必须有唯一根元素

v-model  双向数据绑定(一般用于表单元素)

v-once 执行一次性地插值,当数据改变时,插值处的内容不会更新

v-html 输出html代码

v-on:click或者@click

el  规定作用域范围

data  数据

computed 能够缓存数据(计算属性)

methods 每次都得重新执行一遍方法(定义方法)

filters  自定义过滤器

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,825评论 4 377
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,887评论 2 308
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,425评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,801评论 0 224
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,252评论 3 299
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,089评论 1 226
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,216评论 2 322
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 31,005评论 0 215
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,747评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,883评论 2 255
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,354评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,694评论 3 265
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,406评论 3 246
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,222评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,996评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,242评论 2 287
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 36,017评论 2 281

推荐阅读更多精彩内容