Vue 面试题
1.vue 中的 MVVM 模式
即 Model-View-ViewModel。
Vue 是以数据为驱动的,Vue 自身将 DOM 和数据进行绑定,一旦创建绑定,DOM 和数据
将保持同步,每当数据发生变化,DOM 会跟着变化。
ViewModel 是 Vue 的核心,它是 Vue 的一个实例。Vue 实例时作用域某个 HTML 元素上的,这
个 HTML 元素可以是 body,也可以是某个 id 所指代的元素。
DOM Listeners 和 Data Bindings 是实现双向绑定的关键。DOM Listeners 监听页面所有 View
层 DOM 元素的变化,当发生变化,Model 层的数据随之变化;Data Bindings 监听 Model 层
的数据,当数据发生变化,View 层的 DOM 元素随之变化。
2.v-show 指令,v-if 的区别
条件渲染指令,与 v-if 不同的是,无论 v-show 的值为 true 或 false,元素都会存在
于 HTML 代码中;而只有当 v-if 的值为 true,元素才会存在于 HTML 代码中。v-show 指令只
是设置了元素 CSS 的 style 值
3.如何让 css 只在当前组件中起作用
在每一个 vue 组件中都可以定义各自的 css,js,如果希望组件内写的 css 只对当前组
件起作用,只需要在 style 中写入 scoped,即:
<style scoped></style>
4.指令 keep-alive
在 vue-router 写着 keep-alive,keep-alive 的含义:
如果把切换出去的组件保留在内存中,可以保留它的状态或避免重新渲染。为此可以添加一
个 keep-alive 指令
<component :is='curremtView' keep-alive></component>
5.Vuejs 组件
vuejs 构建组件使用
Vue.component('componentName',{ /*component*/ }); 这里注意一点,组件要先注册再
使用
Vue.component('mine',{
template:'#mineTpl',
props:['name','title','city','content']