- 包管理工具与镜像:npm即node.js包管理工具的全称为node.js package manager,cnpm为淘宝镜像,一般同步频率为10分钟一次。cnpm与npm使用语法相同,区别在于服务器不同。
- vue单文件组件导入与导出:vue中引入其他组件的步骤(例如引入同级的Register组件):
单文件组件默认导入步骤:
① 引入语法import Register from ‘./Register’;
② 注册语法为在component选项里加入组件名进行注册,可以在注册时改名v-Register;
③ 在模板里使用,有两种写法,单标签<v-Register/>
,标签对<v-Register></v-Register>
___。
单文件组件默认导出语法为export default
。 - 动态组件中
<keep-alive></keep-alive>
作用是什么?
keep-alive译为活着—组件的失活缓存
失活缓存keep-alive:
重新创建动态组件的行为通常是非常有用的,但是在这个案例中,我们更希望那些标签的组件实例能够被在它们第一次被创建的时候缓存下来。
方案:
为了解决这个问题,可以用一个<keep-alive>
元素将其动态组件包裹起来。 - 之前有做过SPA类型的项目吗?怎么实现的?
SPA就是单页面应用程序,主要依靠路由来实现,路由根据不同的值来展示不同的组件. - vue中的单项数据流和双向数据绑定是什意思?
单项数据流:数据是单向的,父组件的数据传递给子组件,只能单项绑定,不可以在子组件修改父组件的数据; 双向数据绑定:数据和页面进行双向绑定,相互影响. - 为什么在使用v-for的时候需要添加key属性?
因为vue在更新渲染dom的时候是根据新旧dom数进行对比的,使用key来给每个节点做一个唯一标识,Diff算法就可以正确的识别此节点,找到正确的位置区插入新的节点。 - 为什么vue组件中的data必须是函数?
因为如果默认为data是对象的话,对象为引用类型,这样的话,所有复用的组件都是引用的同一个数据,但是如果是函数的话,每次函数都会先创建一个新的数据,从而使每个组件的数据独立 - 你对vue中mvvm的模式设计有什么感想?
mvvm设计模式采用的双向绑定,当view发生变化,model会跟着变化,model发生变化,view也会同步,这样的话,我们就可以更多的关注逻辑,从而减少dom的操作,代码的耦合性也更好 - console系列
日志信息console.log()
一般信息console.info()
除错信息console.debug()
警告提示console.warn()
错误提示console.error()
分组显示console.group()和console.groupEnd()。
console.dir()可以显示一个对象所有的属性和方法
console.dirxml()用来显示网页的某个节点(node)所包含的html/xml代码。console.clear()清空控制台内容
console.time(),console.timeEnd()方法计算一个操作的执行的时间
console.count()方法用于计数,输出它被调用了多少次
console.table()方法可以将传入的对象或数组这些复合数据以表格形式输出。 - 条件渲染指令包含哪些,两者区别是什么?
v-if就是当表达式值改动时 相应的将某些行为应用到DOM上
v-if指条件性渲染,为true时渲染DOM,否则不进行渲染
条件渲染指令v-else 与JS条件语句if、else-if、else类似,Vue条件指令也可以根据表达式的值在DOM中创建或销毁元素/组件。
条件渲染指令v-else-if 顾名思义,充当 v-if 的“else-if 块”,可以连续使用。类似于 v-else,v-else-if 也必须紧跟在带 v-if 或者 v-else-if 的元素之后
条件渲染指令-key属性
Vue在渲染元素时,出于效率考虑,会尽可能复用已有的元素而非重新渲染
列表渲染指令v-for 当需要遍历数组或者枚举对象循环显示时,需要用到列表渲染指令v-for。表达式需要结合in使用,类似item in items的形式
v-for控制循环次数的方法
- 截取循环的数据(截取循环的数据长度,从而控制循环的次数)
- 通过v-if来控制v-show也是条件性渲染 不同的是带有v-show的元素始终会被渲染并保留在DOM中 v-show 只是简单地切换元素的 CSS 属性 display。