최근 인터뷰에 대한 질문, 거기에 사용되는 것을 특징으로 vue
해당 버전, 대답을 vue2
한 후 면접관이 계속 질문 vue2.0
으로 vue1.0
...... 두려움을 차이, 그것이 장점이 갑자기 조용하고 공기가 ~
음, 학습 문서화는 다음과
첫째, 구성 요소 모듈, 루트 요소 패키지가 필요하다
vue1.0
지지 어셈블리는 다음과 같은 코드 단편화 될 수있다 :
<template>
<h1>标题标题</h1>
<section>我就是所谓文章了</section>
</template>
에서 vue2.0
, 구성 요소는 다음과 같은 우리의 코드를 래핑하는 하나의 루트 엘리먼트를 가져야한다 :
<template>
<div>
<h1>标题标题</h1>
<section>我就是所谓文章了</section>
</div>
</template>
둘째, 수명주기
vue1.0
수명주기 :
init // 初始化
created // 实例创建,dom未生成
beforeCompile // 编译之前
compiled // 编译完成
ready // 准备 mounted
beforeDestroy // 销毁前
destroyed // 销毁完成
vue2.0
수명주기 :
beforeCreate // 创建前 -> init
created // 实例创建后
beforeMount // 装载前 -> beforeMount
mounted // 装载后 -> ready
beforeUpdate // 组件更新前
updated // 组件更新后
beforeDestroy // 组件销毁前
destroyed // 组件销毁后
셋째, 순환
vue1.0
당신은 중복 된 데이터를 추가 할 수 없습니다 vue2.0
지지대의 기본입니다.
vue1.0
중복 데이터를 추가 할 추가 할 필요가 track-by="$index"
있는 vue2.0
있다 :key="index"
유사한. vue2.0
그리고 제거 $ 인덱스 $ 키를 직접 사이클 정의를 대체하는 방법.
넷째, 필터
vue1.0
내장 필터 json、 currency
등, vue2.0
다음과 같이 모두 삭제가 필요 정의 필터에 개발자 수 있습니다 :
// 局部
filters: {
capitalize: function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
// 全局
Vue.filter('capitalize', function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
})
다섯, 소품
vue1.0
지지대는 양방향 데이터 전송을 지원하며, vue2.0
단지 일방향 송신 아이의 부모 (상위 부에 전달되는 값을 방출) 허용
vue1.0
상기 검사 데이터는 소품 강제 변환을 사용하도록 수정 vue2.0
은 다음과 같이 계산하여 변경할 :
// vue1.0
prop: {
price: {
type: String,
coerce: function(val){
return '$' + val
}
}
}
// vue2.0
prop: {
price: String
},
computed: {
newPrice () {
return '$' + this.price
}
}
여섯째, 인스턴스 메소드
vue2.0
또한 다음과 같이, 상기 방법의 몇 가지 예를 제거 :
vm.$appendTo
vm.$before
vm.$after
vm.$remove
vm.$eval
vm.$interpolate
vm.$log
우리는 버전 1.0 실제로 더 이해를 많은 읽을 수 있습니다. 또한, 개인적인 느낌은 보는 vue3.0
것이 더 중요하다 새로운 기능을