-
vue的自定义指令
-
v-if和v-show的区别 为何v-for中要用key
-
描述Vue组件生命周期(有父子组件情况)
-
components的挂载和原理
-
Vue组件间的通信
-
描述组件渲染和更新的过程
-
双向数据绑定 v-model的实现原理
-
slot插槽
-
双向数据绑定的原理 如何手动实现双向数据绑定
-
vue-router模式以及原理 跳转方式以及区别 比如params的参数为什么一刷新就获取不到了
-
vuex 各种写法
-
路由的懒加载 按需加载
-
vue的过滤器
-
computed和watch的区别
-
vue.mixin
-
路由的导航钩子以及调动的方法 顺序
-
基于vue设计一个购物车 (vuex setState结构)
-
vue如何配置开发环境和生产环境
-
vue的在代码里面可以做哪些的性能优化 vue的自定义指令 vue里面的指令 v-if v-show v-model v-for等等
-
虚拟DOM(Virtual DOM)和 diff
-
做项目时候哪些安全优化
基本使用
插值 {{}}
表达式 {{flag ? 1 : 0}}
指令、动态属性
<p :id="id">动态属性id</p> // id在data中定义
v-html:会有XSS风险,会覆盖子组件
1.Vue的自定义指令
注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件。然而,有的情况下,你仍然需要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令。
// 全局 注册一个全局自定义指令 `v-focus`
Vue.directive('focus', {
// 当被绑定的元素插入到 DOM 中时……
inserted: function (el) {
// 聚焦元素
el.focus()
}
})
// 局部
directives: {
focus: {
// 指令的定义
inserted: function (el) {
el.focus()
}
}
}
// 在模板中使用
<input v-focus>
el:指令所绑定的元素,可以用来直接操作 DOM。
binding:一个对象,包含以下 property:name:指令名,不包括 v- 前缀。
value:指令的绑定值,例如:v-my-directive="1 + 1" 中,绑定值为 2。
oldValue:指令绑定的前一个值,仅在 update 和 componentUpdated 钩子中可用。无论值是否
改变都可用。
expression:字符串形式的指令表达式。例如 v-my-directive="1 + 1" 中,表达式为 "1 + 1"
arg:传给指令的参数,可选。例如 v-my-directive:foo 中,参数为 "foo"。
modifiers:一个包含修饰符的对象。例如:v-my-directive.foo.bar 中,修饰符对象为 { foo: true,
bar: true }。
vnode:Vue 编译生成的虚拟节点。
oldVnode:上一个虚拟节点,仅在 update 和 componentUpdated 钩子中可用。
2.v-if和v-show的区别 为何v-for中要用key
切换的比较频繁用v-show 用display控制显示隐藏
一次性选择渲染用v-if 删除DOM节点控制显示隐藏
v-for时候一定要用key v-for和v-if不建议在同一个标签上使用 因为v-for比v-if的计算优先级高一些 key需要用一个唯一值
3.描述Vue组件生命周期(有父子组件情况)
4.components的挂载和原理
5.Vue组件间的通信
6.描述组件渲染和更新的过程
7.双向数据绑定 v-model的实现原理
8.Slot插槽
9.双向数据绑定的原理 如何实现双向数据绑定
10.vue-router模式以及原理11.vuex12.路由的懒加载和按需加载13.vue的过滤器
14.computed和watch的区别
computed有缓存,data不变不会重新计算watch如何深度监听?watch监听引用类型,拿不到oldValue
data() { info: { name: "1111" } }, watch: { info(){ handle: function(oldValue, newValue){ // 拿不到oldValue }, deep: true // 深度监听 } }
20.虚拟DOM(Virtual DOM)和 diff
vdom是实现vue和react的基石
diff算法是vdom最核心 最关键的部分
DOM操作非常耗费性能
用jQuery的时候,可以控制DOM控制的时机,手动调整
Vue和React都是数据驱动视图,如何有效控制DOM?
解决方案: 更多的转为JS计算,因为JS计算比较快
Vdom--用js模拟DOM结构,计算出最小的变更,操作DOM