Vue의 Options 사용 설명
$mount와 교체 관계
new Vue({
el: "#app"
});
new Vue({}).$mount('#app')
주: 마운트 지점으로 선택된 요소, index에서.html에 있는 그 요소에는 원래 내용이 있는데 렌더링할 때 사라진다(인터넷 속도가 느려서 볼 수 있다). 이 vue 실례에 대응하는 내용에 덮어씌워진다.데이터: 내부 데이터
지원 대상 및 함수, 우선 함수
new Vue({
//
data() {
return {
n: 0,
}
}
}).$mount("#app");
주: 함수를 최대한 쓸 수 있습니다. 그렇지 않으면 BUG가 있을 수 있습니다.methods: 메서드
이벤트 처리 함수
new Vue({
data (){
return{
n:0
}
},
template:`
<div class="red">
{{n}}
<button @click="add">+1</button>
</div>
`,
//add methods
methods:{
add(){
this.n+=1
}
}
}).$mount('#app')
일반 함수:methods 대체 filter
import Vue from "vue";
Vue.config.productionTip = false;
new Vue({
data() {
return {
n: 0,
array: [1, 2, 3, 4, 5, 6, 7, 8]
};
},
template: `
<div class=red>
{{n}}
<button @click="add">+1</button> //
<hr>
{{filter()}} // (JS filter , )
</div>
`,//
methods: {
add() {
this.n += 1; //
},
filter() {
return this.array.filter(i => i % 2 === 0); //
}
}
}).$mount("#app");
components: 메서드Vue 구성 요소 사용, 대소문자 주의
(권장 사용법) 모듈화:
새 vue 파일 데모.vue, 이 vue 파일은 하나의 구성 요소입니다.
메인js에 이 vue 파일 도입
vue 실례의components에서 이것은 내가 사용할 구성 요소이며 데모라고 명명합니다
이렇게 하면 이 Vue 실례의template에서 이 구성 요소를 직접 사용할 수 있습니다
import Vue from "vue";
import Demo from "./Demo.vue"; // vue ---
Vue.config.productionTip = false;
new Vue({
components: {
Demo // vue components , Demo
// Demo, Demo:Demo, Demo --ES6
//components: {Demo},
},
data() {
return {
n: 0
};
},
template: `
<div class=red>
{{n}}
<button @click="add">+1</button>
<Demo/> // Vue template `<Demo/>`
</div>
`,
methods: {
add() {
this.n += 1;
},
}
}).$mount("#app");
갈고리 네 개
created --
created(){
debugger
console.log(' ')
},
mounted - 인스턴스가 페이지에 나타나면 (마운트됨) 트리거
mounted(){
debugger
console.log(' ')
},
업데이트 -- 인스턴스가 업데이트된 후 트리거
updated(){
console.log(' ')
console.log(this.n)
},
// +1 , , n
destroyed - 페이지와 메모리에서 인스턴스가 사라진 후 터치props:외부 속성
외부 전송값
message
= "n"전송 문자열:message
= "n"이 vue 인스턴스에 전송된this.데이터:fn="add"
vue 실례에 전송된this.add 함수예제
추가 정보: vue $options 초기화
vue 실례화 시 $options 초기화
vue/src/core/instance/init.js
Vue.prototype._init = function (options?: Object) {
const vm: Component = this
// a uid
vm._uid = uid++
let startTag, endTag
/* istanbul ignore if */
if (process.env.NODE_ENV !== 'production' && config.performance && mark) {
startTag = `vue-perf-start:${vm._uid}`
endTag = `vue-perf-end:${vm._uid}`
mark(startTag)
}
// a flag to avoid this being observed
vm._isVue = true
// merge options
if (options && options._isComponent) {
// optimize internal component instantiation
// since dynamic options merging is pretty slow, and none of the
// internal component options needs special treatment.
initInternalComponent(vm, options)
} else {
// $options
vm.$options = mergeOptions(
resolveConstructorOptions(vm.constructor),
options || {},
vm
)
}
/* istanbul ignore else */
if (process.env.NODE_ENV !== 'production') {
initProxy(vm)
} else {
vm._renderProxy = vm
}
}
}
위의 Vue의 Options 용법 설명은 바로 여러분이 공유한 모든 내용입니다. 참고 부탁드리며 많은 응원 부탁드립니다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vue Render 함수로 DOM 노드 코드 인스턴스 만들기render에서createElement 함수를 사용하여 DOM 노드를 만드는 것은 직관적이지 않지만 일부 독립 구성 요소의 디자인에서 특수한 수요를 충족시킬 수 있습니다.간단한 렌더링 예는 다음과 같습니다. 또한 v...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.