vue 계산 속성과 시계의 차이점은 무엇입니까?
차이점: 1. 계산된 속성은 호출 시 템플릿에서 렌더링되어야 하며, 계산이 의존하는 메타데이터는 호출 시에만 메타데이터를 수정하면 됩니다. 2. 계산된 속성은 기본적으로 깊은 의존성을 가지며, 시계는 기본적으로 얕은 관찰을 합니다. 3. 계산된 속성은 필터링에 적합하며 비동기식일 수 없습니다. 시계는 비동기식 또는 비용이 많이 드는 작업에 적합합니다.
computed
computed는 계산된 속성으로, 의존하는 데이터를 기반으로 새로운 계산 결과를 동적으로 표시합니다.
계산된 속성은 Vue 인스턴스에 추가됩니다. 모든 getter 및 setter의 컨텍스트는 계산된 속성을 통해
Vue 인스턴스에 자동으로 바인딩됩니다호출할 필요가 없습니다DOM에서 직접 사용할 수 있습니다
기본 예
var vm = new Vue({ el: '#app', data: { message: 'hello' }, template: ` <div> <p>我是原始值: "{{ message }}"</p> <p>我是计算属性的值: "{{ computedMessage}}"</p> // computed 在 DOM 里直接使用不需要调用 </div> `, computed: { // 计算属性的 getter computedMessage: function () { // `this` 指向 vm 实例 return this.message.split('').reverse().join('') } } })
결과:
I am 원래 값: "Hello"
나는 계산된 속성의 값입니다: "olleH"
계산된 속성을 사용하지 않으면 message.split('').reverse().join('')은 그러면 템플릿에 너무 많은 선언적 논리를 넣으면 템플릿 자체가 과중해지며, 특히 페이지의 데이터를 처리하는 데 복잡한 논리식을 많이 사용하는 경우 유지관리성에 큰 영향을 미칩니다.
그리고 계산된 속성의 종속성이 변경되지 않으면 캐시가 되어 계산된 값이 다시 계산되지 않습니다
그래서 복잡한 논리를 통해 데이터를 얻어야 한다면 계산된 속성을 사용하는 것이 좋습니다
watch
는 객체이고, 키는 데이터에 해당하는 데이터, 값은 해당 콜백 함수입니다. 값은 메소드 이름일 수도 있고 데이터 데이터가 변경되면 콜백이 발생합니다. Val(수정된 데이터 데이터) 및 oldVal(원본 데이터 데이터)
Vue 인스턴스는 인스턴스화될 때$watch()
호출되어 watch 객체의 각 속성을 탐색합니다
기본 예제
new Vue({ data: { n: 0, obj: { a: "a" } }, template: ` <div> <button @click="n += 1">n+1</button> <button @click="obj.a += 'hi'">obj.a + 'hi'</button> <button @click="obj = {a:'a'}">obj = 新对象</button> </div> `, watch: { n() { console.log("n 变了"); }, obj:{ handler: function (val, oldVal) { console.log("obj 变了") }, deep: true // 该属性设定在任何被侦听的对象的 property 改变时都要执行 handler 的回调,不论其被嵌套多深 }, "obj.a":{ handler: function (val, oldVal) { console.log("obj.a 变了") }, immediate: true // 该属性设定该回调将会在侦听开始之后被立即调用 } } }).$mount("#app");
참고:감시자 함수를 정의하기 위해 화살표 함수를 사용해서는 안 됩니다., 화살표 함수에는 이것이 없기 때문입니다. 상위 함수를 상속하지만 상위 함수는 창이므로 화살표 함수의 this가 Vue 인스턴스 대신 창을 가리키게 됩니다
- deep은 이 개체의 속성 변경 사항을 볼지 여부를 즉시 제어합니다
- 첫 번째 렌더링에서 이 함수를 실행할지 여부를 제어합니다. 사용법은 watch 콜백과 유사합니다. vm.$watch('data attribute name', fn, {deep: . ., instant: ..})
vm.$watch("n", function(val, newVal){ console.log("n 变了"); },{deep: true, immediate: true})
vue 계산 속성과 watch의 차이점
- 계산 속성과 속성 감지
계산 속성(계산)
실행 처음으로 time | 처음 실행되지 않음 | 호출 시 템플릿에서 렌더링해야 하며, 계산이 의존하는 메타데이터를 수정해야 합니다.
기본 깊은 종속성 | |
비동기가 아닌 필터링에 적합 | |
데이터를 모니터링하고 watch를 사용하여 데이터 작업 수행 | 관련 권장 사항: |
2020년 프론트 엔드 vue 인터뷰 질문 요약(답변 포함)
vue 튜토리얼 권장 사항: 2020년 최신 5개 vue.js 비디오 튜토리얼 선택
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육을 방문하세요! !
위 내용은 vue 계산 속성과 시계의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











vue.js의 시계 옵션을 사용하면 개발자가 특정 데이터의 변경 사항을들을 수 있습니다. 데이터가 변경되면 콜백 기능을 트리거하여 업데이트보기 또는 기타 작업을 수행합니다. 구성 옵션에는 즉시 콜백을 실행할지 여부와 DEEP를 지정하는 즉시 포함되며, 이는 객체 또는 어레이에 대한 변경 사항을 재귀 적으로 듣는 지 여부를 지정합니다.

vue.js에서 JS 파일을 참조하는 세 가지 방법이 있습니다. & lt; script & gt; 꼬리표;; mounted () 라이프 사이클 후크를 사용한 동적 가져 오기; Vuex State Management Library를 통해 수입.

vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

HTML 템플릿의 버튼을 메소드에 바인딩하여 VUE 버튼에 함수를 추가 할 수 있습니다. 메소드를 정의하고 VUE 인스턴스에서 기능 로직을 작성하십시오.

vue.js는 이전 페이지로 돌아갈 수있는 네 가지 방법이 있습니다. $ router.go (-1) $ router.back () 사용 & lt; router-link to = & quot;/quot; Component Window.history.back () 및 메소드 선택은 장면에 따라 다릅니다.

CSS 애니메이션 또는 타사 라이브러리를 사용하여 VUE에서 Marquee/Text Scrolling Effects를 구현하십시오. 이 기사는 CSS 애니메이션 사용 방법을 소개합니다. & lt; div & gt; CSS 애니메이션을 정의하고 오버플로를 설정하십시오 : 숨겨진, 너비 및 애니메이션. 키 프레임을 정의하고 변환을 설정하십시오 : Translatex () 애니메이션의 시작과 끝에서. 지속 시간, 스크롤 속도 및 방향과 같은 애니메이션 속성을 조정하십시오.

vue.js에서 게으른 로딩을 사용하면 필요에 따라 부품 또는 리소스를 동적으로로드 할 수 있으므로 초기 페이지로드 시간을 줄이고 성능을 향상시킵니다. 특정 구현 방법에는 & lt; keep-alive & gt를 사용하는 것이 포함됩니다. & lt; 구성 요소는 & gt; 구성 요소. 게으른 하중은 FOUC (Splash Screen) 문제를 일으킬 수 있으며 불필요한 성능 오버 헤드를 피하기 위해 게으른 하중이 필요한 구성 요소에만 사용해야합니다.

Vue DevTools를 사용하여 브라우저 콘솔에서 vue 탭을 보면 VUE 버전을 쿼리 할 수 있습니다. npm을 사용하여 "npm list -g vue"명령을 실행하십시오. package.json 파일의 "종속성"객체에서 vue 항목을 찾으십시오. Vue Cli 프로젝트의 경우 "vue -version"명령을 실행하십시오. & lt; script & gt에서 버전 정보를 확인하십시오. vue 파일을 나타내는 html 파일의 태그.
