차이점: 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>n+1</button> <button>obj.a + 'hi'</button> <button>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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

vue.js는 2014 년 Yuxi가 출시하여 사용자 인터페이스를 구축하기 위해 진보적 인 JavaScript 프레임 워크입니다. 핵심 장점은 다음과 같습니다. 1. 응답 데이터 바인딩, 데이터 변경의 자동 업데이트보기; 2. 구성 요소 개발, UI는 독립적이고 재사용 가능한 구성 요소로 분할 될 수 있습니다.

Netflix는 React를 프론트 엔드 프레임 워크로 사용합니다. 1) React의 구성 요소화 된 개발 모델과 강력한 생태계가 Netflix가 선택한 주된 이유입니다. 2) 구성 요소화를 통해 Netflix는 복잡한 인터페이스를 비디오 플레이어, 권장 목록 및 사용자 댓글과 같은 관리 가능한 청크로 분할합니다. 3) React의 가상 DOM 및 구성 요소 수명주기는 렌더링 효율성 및 사용자 상호 작용 관리를 최적화합니다.

프론트 엔드 기술에서 Netflix의 선택은 주로 성능 최적화, 확장 성 및 사용자 경험의 세 가지 측면에 중점을 둡니다. 1. 성능 최적화 : Netflix는 React를 주요 프레임 워크로 선택하고 Speedcurve 및 Boomerang과 같은 도구를 개발하여 사용자 경험을 모니터링하고 최적화했습니다. 2. 확장 성 : 마이크로 프론트 엔드 아키텍처를 채택하여 응용 프로그램을 독립 모듈로 분할하여 개발 효율성 및 시스템 확장 성을 향상시킵니다. 3. 사용자 경험 : Netflix는 재료 -UI 구성 요소 라이브러리를 사용하여 A/B 테스트 및 사용자 피드백을 통해 인터페이스를 지속적으로 최적화하여 일관성과 미학을 보장합니다.

NetflixusesAcustomFrameworkCalled "Gibbon"BuiltonReact, NotreactorVuedirectly.1) TeamExperience : 2) ProjectComplexity : vueforsimplerProjects, 3) CustomizationNeeds : reactoffersmoreflex.4)

Netflix는 주로 프레임 워크 선택의 성능, 확장 성, 개발 효율성, 생태계, 기술 부채 및 유지 보수 비용을 고려합니다. 1. 성능 및 확장 성 : Java 및 SpringBoot는 대규모 데이터 및 높은 동시 요청을 효율적으로 처리하기 위해 선택됩니다. 2. 개발 효율성 및 생태계 : React를 사용하여 프론트 엔드 개발 효율성을 향상시키고 풍부한 생태계를 활용하십시오. 3. 기술 부채 및 유지 보수 비용 : Node.js를 선택하여 유지 보수 비용과 기술 부채를 줄이기 위해 마이크로 서비스를 구축하십시오.

Netflix는 주로 VUE가 특정 기능을 위해 보충하는 프론트 엔드 프레임 워크로 React를 사용합니다. 1) React의 구성 요소화 및 가상 DOM은 Netflix 애플리케이션의 성능 및 개발 효율을 향상시킵니다. 2) VUE는 Netflix의 내부 도구 및 소규모 프로젝트에 사용되며 유연성과 사용 편의성이 핵심입니다.

vue.js는 복잡한 사용자 인터페이스를 구축하는 데 적합한 점진적인 JavaScript 프레임 워크입니다. 1) 핵심 개념에는 반응 형 데이터, 구성 요소화 및 가상 DOM이 포함됩니다. 2) 실제 응용 분야에서는 TODO 응용 프로그램을 구축하고 Vuerouter를 통합하여 시연 할 수 있습니다. 3) 디버깅 할 때 VuedeVtools 및 Console.log를 사용하는 것이 좋습니다. 4) 성능 최적화는 V-IF/V- 쇼, 목록 렌더링 최적화, 구성 요소의 비동기로드 등을 통해 달성 할 수 있습니다.

vue.js는 중소형 프로젝트에 적합하지만 REACT는 크고 복잡한 응용 프로그램에 더 적합합니다. 1. Vue.js의 응답 형 시스템은 종속성 추적을 통해 DOM을 자동으로 업데이트하여 데이터 변경을 쉽게 관리 할 수 있습니다. 2. 반응은 단방향 데이터 흐름을 채택하고 데이터 흐름에서 하위 구성 요소로 데이터가 흐르고 명확한 데이터 흐름과 곤란하기 쉬운 구조를 제공합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Dreamweaver Mac版
시각적 웹 개발 도구

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