jquery 库 -> DOM(操做DOM) + 请求javascript
art-template 库 -> 模板引擎css
框架 = 全方位功能齐全html
KFC的世界里,库就是一个小套餐, 框架就是全家桶前端
代码上的不一样vue
1:引包java
2:启动 new Vue({el:目的地,template:模板内容});react
optionsjquery
目的地 elwebpack
内容 templateweb
数据 data 保存数据属性
数据驱动视图
{{ 表达式 }}
能够用于页面中简单粗暴的调试
注意: 必须在data这个函数中返回的对象中声明
在vue中提供了一些对于页面 + 数据的更为方便的输出,这些操做就叫作指令, 以v-xxx表示
好比在angular中 以ng-xxx开头的就叫作指令
在vue中 以v-xxx开头的就叫作指令
指令中封装了一些DOM行为, 结合属性做为一个暗号, 暗号有对应的值,根据不一样的值,框架会进行相关DOM操做的绑定
v-text 只能用在双标签中
v-text 其实就是给元素的innerText赋值
v-html 其实就是给元素的innerHTML赋值
v-if 若是值为false,会留下一个<!---->做为标记,万一将来v-if的值是true了,就在这里插入元素
若是有if和else就不须要单独留坑了
若是全用上 v-if 相邻v-else-if 相邻 v-else 不然 v-else-if能够不用
v-if和v-else-if都有等于对应的值,而v-else直接写
v-if家族都是对元素进行插入和移除的操做
v-show是显示与否的问题
注意: 指令其实就是利用属性做为标识符,简化DOM操做,
看:v-model="xxx"
v-model 表明要作什么 xxx表明针对的js内存对象
写在那个元素上,就对哪一个元素操做
复制代码
v-if
是“真正”的条件渲染,由于它会确保在切换过程当中条件块内的事件监听器和子组件适当地被销毁和重建。
v-if
也是惰性的:若是在初始渲染时条件为假,则什么也不作——直到条件第一次变为真时,才会开始渲染条件块。
相比之下,v-show
就简单得多——无论初始条件是什么,元素老是会被渲染,而且只是简单地基于 CSS 进行切换。
通常来讲,v-if
有更高的切换开销,而 v-show
有更高的初始渲染开销。所以,若是须要很是频繁地切换,则使用 v-show
较好;若是在运行时条件不多改变,则使用 v-if
较好。
给元素的属性赋值
语法 在元素上 v-bind:属性名="常量||变量名"
简写形式 :属性名="变量名"
<div v-bind:原属性名="变量"></div>
<div :属性名="变量">
</div>
复制代码
v-on:事件名="表达式||函数名"
@事件名="表达式"
input v-model="name"
input :value="name"
v-for="item in arr"
v-for="item in obj"
v-for="(item,index) in arr" :class="index"
渲染组件-父使用子组件
var Header = { template:'模板' , data是一个函数,methods:功能,components:子组件们 }
components:{ 组件名:组件对象 }
<组件名></组件名>
Vue.component('组件名',组件对象);
filters:{ 过滤器名:过滤器fn }
最终fn内经过return产出最终的数据{{ 原有数据 | 过滤器名 }}
function(data,argv1,argv2...){}
{{ 数据 | 过滤器名(参数1,参数2) }}
npm init -y
npm install webpack@2.2.1 --save-dev --registry https://registry.npm.taobao.org
"scripts": { "test": "webpack ./main.js ./build.js" },
npm run test
fn3() { //干掉了:function,用在对象的属性中
console.log(this);
},
复制代码
<son v-for="(item,index) in persons" :key="index" ></son>
复制代码
activated(){ //激活的 keep-alive v-if="true"
console.log('activated')
},
deactivated(){ //停用的 keep-alive v-if="false"
console.log('deactivated')
},
beforeDestroy(){ //销毁前 v-if="false"
console.log('beforeDestroy')
},
destroyed(){//销毁后 v-if="false"
console.log('destroyed')
},
复制代码
救命稻草, document.querySelector
1: 在template中标识元素 ref="xxxx"
2: 在要获取的时候, this.$refs.xxxx 获取元素
ref在DOM上获取的是原生DOM对象
ref在组件上获取的是组件对象