목차
Angularjs 사용과 Vue.js 비교
Angular
Vue
vue.渲染列表
Angularjs渲染列表
vue的循环
angular和vue的渲染差不多
vue和Angular处理用户输入
웹 프론트엔드 프런트엔드 Q&A vuejs와 anglejs의 차이점은 무엇입니까

vuejs와 anglejs의 차이점은 무엇입니까

Oct 26, 2021 pm 04:31 PM
angularjs vuejs

차이점: 1. Angularjs는 시작하기 어렵지만 vuejs는 간단하고 배우기 쉽습니다. 2. Angular의 지침은 "ng-xxx"이고 vue는 "v-xxx"입니다. 각도의 모든 메소드와 명령은 범위의 $에 바인딩되며 vue 인스턴스에 바인딩됩니다.

vuejs와 anglejs의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, vue 버전 2.9.6, DELL G3 컴퓨터.

Angularjs 사용과 Vue.js 비교

이전 프로젝트는 모두 Angularjs를 사용했습니다. (이 글에서는 주로 Angularjs를 다루니 주의하세요. 1) Vue.js를 처음 사용한 후 간단한 비교 노트를 작성해 보세요.
우선 각각의 특성을 이론적으로 간략하게 설명하고 몇 가지 작은 예를 들어 설명하겠습니다.

Angular

  • 1, MVVM(모델)(뷰)(뷰-모델)
  • 2, 모듈형(모듈) 컨트롤러(컨트롤러) 종속성 주입:
  • 3, 양방향 데이터 바인딩: 인터페이스 실시간으로 데이터에 반영되며, 데이터 변경 사항을 실시간으로 인터페이스에 표시할 수 있습니다.
  • 4, 명령(ng-click ng-bind ng-model ng-href ng-src ng-if/ng-show...)
  • 5, 서비스 서비스($compile $filter $interval $timeout $http. ..)
  • 6, 라우팅(ng-Route 기본 라우팅), ui-router(라우팅 구성 요소)
  • 7, Ajax 캡슐화($http)

양방향 데이터 바인딩 구현에서는 더티 $scope 변수를 사용합니다. 값 감지를 위해 $scope.$watch(모델 보기) 및 $scope.$apply(모델 보기)를 사용하여 감지합니다. 물론 Digest 검사를 위해 $scope.$digest를 직접 호출할 수도 있습니다. . 데이터가 매우 자주 변경되는 경우 더티 감지는 많은 브라우저 성능을 소모한다는 점에 주목할 가치가 있습니다. 공식 최대 더티 감지 값은 2000개 데이터입니다.

Vue

vue.js 공식 웹사이트: 사용자 인터페이스 구축을 위한 프로그레시브 프레임워크 세트입니다. 다른 헤비급 프레임워크와 달리 Vue는 상향식 증분 개발 설계를 채택합니다. Vue의 핵심 라이브러리는 뷰 레이어에만 중점을 두고 있으며 다른 라이브러리나 기존 프로젝트와 배우고 통합하기가 매우 쉽습니다. 반면 Vue는 Single File ComponentsVue Ecosystem Supported Libraries로 개발된 복잡한 단일 페이지 애플리케이션을 완벽하게 지원할 수 있습니다. Vue.js의 목표는 가능한 가장 간단한 API를 통해

반응형 데이터 바인딩

결합된 뷰 구성 요소를 구현하는 것입니다.

(1) 모듈화. 현재 가장 인기 있는 방법은 프로젝트에서 직접 ES6 모듈화를 사용하고 이를 프로젝트 패키징을 위해 Webpack과 결합하는 것입니다.
  • (2) 구성 요소화, 접미사가 .vue인 단일 구성 요소 파일을 생성합니다. 템플릿(html 코드), 스크립트(es6 코드), 스타일(css 스타일)
  • (3) 양방향 데이터 바인딩: 인터페이스의 동작을 실시간으로 데이터에 반영할 수 있으며, 데이터의 변경 사항을 실시간으로 인터페이스에 표시됩니다.
  • (4) 명령(v-html v-bind v-model v-if/v-show...)
  • (5) 라우팅(vue-router)
  • (6) vuex 데이터 공유
  • (7 ) Ajax 플러그인(vue-resource, axios)
  • vue는 압축 후 최소 소스 코드가 72.9kb입니다. Angular에 비해 25.11kb에 불과합니다. 라우팅 플러그인(Vue-router), Ajax 플러그인(vue-resource, axios) 등과 유사한 필수 라이브러리 플러그인을 사용하여 직접 사용하세요.

Vue 및 Angular 양방향 데이터 바인딩 원리 ###

angular.js: 더티 값 검사

angular.js는 더티를 통해 데이터가 변경되었는지 비교하여 뷰를 업데이트할지 여부를 결정하는 가장 간단한 방법은 정기적으로 폴링하는 것입니다. setInterval()을 통해 데이터 변경을 감지합니다. 물론 Google은 지정된 이벤트가 트리거될 때만 더티를 입력합니다. 값 감지는 대략 다음과 같습니다. 버튼 등 (ng-클릭)

XHR 응답 이벤트($http)

    브라우저 위치 변경 이벤트($location)
  • 타이머 이벤트($timeout, $interval)
  • $digest() 또는 $apply() 실행
  • vue
  • :
  • 데이터 하이재킹

vue.js는 게시자-구독자 모델과 결합된 데이터 하이재킹을 사용하여 Object.defineProperty()를 통해 각 속성의 setter 및 getter를 하이재킹하고 데이터가 변경되면 메시지를 게시합니다. , 해당 청취 콜백을 트리거합니다. https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/definePropertydefineProperty코드는 바로 아래에 있습니다

첫 번째는 물론 Hello World

vue

1

2

3

4

5

6

7

8

9

10

<div id="app">

  {{ message }}

</div>

 

new Vue({

  el: &#39;#app&#39;,

  data: {

    message: &#39;Hello Vue.js!&#39;

  }

})

로그인 후 복사

Angular입니다.

1

2

3

4

5

6

7

8

<div ng-app="myApp" ng-controller="myCtrl">

 {{message}}

</div>

 

var app = angular.module(&#39;myApp&#39;, []);

app.controller(&#39;myCtrl&#39;, function($scope) {

    $scope.message = "Hello world";

});

로그인 후 복사

이에 비해 Vue는 dom과 데이터를 작성하기 위해 json 데이터 형식을 사용합니다. 작성 스타일은 이해하기 쉬운 js 데이터 인코딩 형식에 더 가깝습니다.

Vue의 양방향 데이터 바인딩

1

2

3

4

5

6

7

8

9

10

11

<div id="app">

  <p>{{ message }}</p>

  <input v-model="message">

</div>

 

new Vue({

  el: &#39;#app&#39;,

  data: {

    message: &#39;Hello Vue.js!&#39;

  }

})

로그인 후 복사

Angular의 ​​양방향 데이터 바인딩

1

2

3

4

5

6

7

8

9

<div ng-app="myApp" ng-controller="myCtrl">

  <p>{{message}}</p>

  <input ng-model="message">

</div>

 

var app = angular.module(&#39;myApp&#39;, []);

app.controller(&#39;myCtrl&#39;, function($scope) {

    $scope.message = "Hello world!";

});

로그인 후 복사

vue는 가벼운 프레임워크이지만 몇 가지 편리한 지침과 속성 작업을 포함하여 많은 API를 제공합니다. 명령 (ng-)를 사용하는 anglejs 지시문과 비교하여 (v-) 연산자를 사용하십시오. 그중 vue.js는 지침의 약어도 지원합니다:

(1) 이벤트 클릭

<a v-on: click="fn"></a>

简写方式:
<a @click="fn"></a>

  • (2)属性

    <a v-bind: href="url"></a>

    简写方式:
    <a :href="url"></a>

  • vue.渲染列表

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    <div id="app">

      <ul>

        <li v-for="name in names">

          {{ name.first }}

        </li>

      </ul>

    </div>

     

    new Vue({

      el: &#39;#app&#39;,

      data: {

        names: [

          { first: &#39;summer&#39;, last: &#39;7310&#39; },

          { first: &#39;David&#39;, last:&#39;666&#39; },

          { first: &#39;Json&#39;, last:&#39;888&#39; }

        ]

      }

    })

    로그인 후 복사

    Angularjs渲染列表

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    <div ng-app="myApp" ng-controller="myCtrl">

      <li ng-repeat="name in names">{{name.first}}</li>

    </div>

     

    var app = angular.module(&#39;myApp&#39;, []);

    app.controller(&#39;myCtrl&#39;, function($scope) {

        $scope.names = [

          { first: &#39;summer&#39;, last: &#39;7310&#39; },

          { first: &#39;David&#39;, last:&#39;666&#39; },

          { first: &#39;Json&#39;, last:&#39;888&#39; }

        ]

    });

    로그인 후 복사

    vue的循环

    1

    2

    3

    4

    5

    <ul>

        <li v-for="item in list">

            <a :href="item.url">{{item.title}}</a>

        </li>

    </ul>

    로그인 후 복사

    angular和vue的渲染差不多

    1

    2

    3

    4

    5

    6

    7

    8

    9

    <div class="item" ng-repeat="news in  newsList">

        <a ng-href="#/content/{{news.id}}">

            <img ng-src="{{news.img}}" />

            <div class="item-info">

                <h3 class="item-title">{{news.title}}</h3>

                <p class="item-time">{{news.createTime}}</p>

            </div>

        </a>

    </div>

    로그인 후 복사

    vue和Angular处理用户输入

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    <div id="app">

      <p>{{ message }}</p>

      <button v-on:click="reverseMessage">Reverse Message</button>

    </div>

     

    new Vue({

      el: &#39;#app&#39;,

      data: {

        message: &#39;Hello Vue.js!&#39;

      },

      methods: {

        reverseMessage: function () {

          this.message = this.message.split(&#39;&#39;).reverse().join(&#39;&#39;)

        }

      }

    })

    로그인 후 복사

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    <div ng-app="myApp" ng-controller="myCtrl">

     <p>{{ message }}</p>

     <button ng-click="reverseMessage()">Reverse Message</button>

    </div>

     

    var app = angular.module(&#39;myApp&#39;, []);

    app.controller(&#39;myCtrl&#39;, function($scope) {

        $scope.message = "Hello world!";

        $scope.reverseMessage = function() {

            this.message = this.message.split(&#39;&#39;).reverse().join(&#39;&#39;)

        }

    });

    로그인 후 복사

    总结:angularjs和vuejs的区别

    1、angularJS上手难,而vueJS简单易学;

    2、angularJS的指令都是ng-xxx,而vueJS的指令都是v-xxx;

    3、angularJS的所有指令和方法都是绑定在$scope上的,而vueJS是new出来一个实例,所有的方法和指令都在这个实例上,一个页面上可以有多个vue实例,但是angularJS的对象只能有一个;

    4、angularJS是由google开发和维护的,vueJS是由个人维护的;

    5、vueJS一般用于移动端的开发,而angularJS一般应用于大型的项目。

    更多编程相关知识,请访问:编程学习!!

    위 내용은 vuejs와 anglejs의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    AI Hentai Generator

    AI Hentai Generator

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

    인기 기사

    R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
    1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 최고의 그래픽 설정
    1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
    Will R.E.P.O. 크로스 플레이가 있습니까?
    1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

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

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

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

    Vue.js 및 Kotlin 언어를 사용하여 Android 애플리케이션을 개발하기 위한 몇 가지 팁 Vue.js 및 Kotlin 언어를 사용하여 Android 애플리케이션을 개발하기 위한 몇 가지 팁 Jul 31, 2023 pm 02:17 PM

    Vue.js 및 Kotlin 언어를 사용하여 Android 애플리케이션을 개발하기 위한 몇 가지 팁 모바일 애플리케이션의 인기와 사용자 요구의 지속적인 증가로 인해 Android 애플리케이션 개발은 개발자들로부터 점점 더 많은 관심을 끌고 있습니다. Android 앱을 개발할 때 올바른 기술 스택을 선택하는 것이 중요합니다. 최근 몇 년 동안 Vue.js와 Kotlin 언어는 점차 Android 애플리케이션 개발에 널리 사용되는 언어가 되었습니다. 이 기사에서는 Vue.js 및 Kotlin 언어를 사용하여 Android 애플리케이션을 개발하는 몇 가지 기술을 소개하고 해당 코드 예제를 제공합니다. 1. 초기에 개발 환경을 설정한다

    Vue.js 및 Python을 사용하여 데이터 시각화 애플리케이션을 개발하기 위한 몇 가지 팁 Vue.js 및 Python을 사용하여 데이터 시각화 애플리케이션을 개발하기 위한 몇 가지 팁 Jul 31, 2023 pm 07:53 PM

    Vue.js 및 Python을 사용하여 데이터 시각화 애플리케이션을 개발하기 위한 몇 가지 팁 소개: 빅 데이터 시대의 도래와 함께 데이터 시각화는 중요한 솔루션이 되었습니다. 데이터 시각화 애플리케이션 개발에서 Vue.js와 Python의 조합은 유연성과 강력한 기능을 제공할 수 있습니다. 이 기사에서는 Vue.js 및 Python을 사용하여 데이터 시각화 애플리케이션을 개발하기 위한 몇 가지 팁을 공유하고 해당 코드 예제를 첨부합니다. 1. Vue.js 소개 Vue.js는 경량 JavaScript입니다.

    Vue.js 및 Lua 언어 통합, 게임 개발을 위한 프런트엔드 엔진 구축 시 모범 사례 및 경험 공유 Vue.js 및 Lua 언어 통합, 게임 개발을 위한 프런트엔드 엔진 구축 시 모범 사례 및 경험 공유 Aug 01, 2023 pm 08:14 PM

    Vue.js와 Lua 언어의 통합, 게임 개발을 위한 프런트엔드 엔진 구축을 위한 모범 사례 및 경험 공유 소개: 게임 개발이 지속적으로 발전함에 따라 게임 프런트엔드 엔진의 선택이 중요한 결정이 되었습니다. 이러한 선택 중에서 Vue.js 프레임워크와 Lua 언어는 많은 개발자의 초점이 되었습니다. 널리 사용되는 프런트엔드 프레임워크인 Vue.js는 풍부한 생태계와 편리한 개발 방법을 갖추고 있으며, Lua 언어는 가볍고 효율적인 성능으로 인해 게임 개발에 널리 사용됩니다. 이 기사에서는 다음 방법을 살펴보겠습니다.

    Vue.js와 Objective-C 통합, 안정적인 Mac 앱 개발을 위한 팁 및 조언 Vue.js와 Objective-C 통합, 안정적인 Mac 앱 개발을 위한 팁 및 조언 Jul 30, 2023 pm 03:01 PM

    Vue.js와 Objective-C 언어의 통합, 안정적인 Mac 애플리케이션 개발을 위한 팁 및 제안 최근 몇 년 동안 프런트 엔드 개발에서 Vue.js의 인기와 Mac 애플리케이션 개발에서 Objective-C의 안정성으로 인해 개발자는 시작합니다. 보다 안정적이고 효율적인 Mac 응용 프로그램을 개발하기 위해 두 가지를 결합하려고 합니다. 이 기사에서는 개발자가 Vue.js와 Objective-C를 올바르게 통합하고 고품질 Mac 애플리케이션을 개발하는 데 도움이 되는 몇 가지 팁과 제안을 소개합니다. 하나

    PHP 및 Vue.js를 사용하여 차트에서 데이터 필터링 및 정렬 기능을 구현하는 방법 PHP 및 Vue.js를 사용하여 차트에서 데이터 필터링 및 정렬 기능을 구현하는 방법 Aug 27, 2023 am 11:51 AM

    PHP 및 Vue.js를 사용하여 차트에서 데이터 필터링 및 정렬 기능을 구현하는 방법 웹 개발에서 차트는 데이터를 표시하는 매우 일반적인 방법입니다. 차트의 데이터 필터링 및 정렬 기능은 PHP 및 Vue.js를 사용하여 쉽게 구현할 수 있으므로 사용자는 차트의 데이터 보기를 사용자 정의하고 데이터 시각화 및 사용자 경험을 향상시킬 수 있습니다. 먼저 차트에서 사용할 데이터 세트를 준비해야 합니다. 이름, 나이, 학년이라는 세 개의 열을 포함하는 데이터 테이블이 있다고 가정합니다. 데이터는 이름, 나이, 학년 Zhang San 1890 Li입니다.

    Vue를 사용하여 QQ와 유사한 채팅 풍선 효과를 구현하는 방법 Vue를 사용하여 QQ와 유사한 채팅 풍선 효과를 구현하는 방법 Sep 20, 2023 pm 02:27 PM

    Vue를 사용하여 QQ와 같은 채팅 버블 효과를 구현하는 방법 오늘날 소셜 시대에 채팅 기능은 모바일 애플리케이션과 웹 애플리케이션의 핵심 기능 중 하나가 되었습니다. 채팅 인터페이스의 가장 일반적인 요소 중 하나는 채팅 풍선입니다. 이는 발신자와 수신자의 메시지를 명확하게 구분하여 메시지의 가독성을 효과적으로 향상시킬 수 있습니다. 이 글에서는 Vue를 사용하여 QQ와 유사한 채팅 풍선 효과를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 채팅 풍선을 나타내는 Vue 구성 요소를 만들어야 합니다. 구성 요소는 두 가지 주요 부분으로 구성됩니다.

    Vue.js 및 Perl 언어를 사용하여 효율적인 웹 크롤러 및 데이터 스크래핑 도구 개발 Vue.js 및 Perl 언어를 사용하여 효율적인 웹 크롤러 및 데이터 스크래핑 도구 개발 Jul 31, 2023 pm 06:43 PM

    Vue.js 및 Perl 언어를 사용하여 효율적인 웹 크롤러 및 데이터 스크래핑 도구를 개발하십시오. 최근 인터넷의 급속한 발전과 데이터의 중요성이 증가함에 따라 웹 크롤러 및 데이터 스크래핑 도구에 대한 수요도 증가했습니다. 이러한 맥락에서 Vue.js와 Perl 언어를 결합하여 효율적인 웹 크롤러와 데이터 스크래핑 도구를 개발하는 것은 좋은 선택입니다. 이 기사에서는 Vue.js 및 Perl 언어를 사용하여 이러한 도구를 개발하는 방법을 소개하고 해당 코드 예제를 첨부합니다. 1. Vue.js 및 Perl 언어 소개

    멋진 모바일 애플리케이션 UI 인터페이스를 구축하기 위한 Vue.js 및 Dart 언어, 실무 및 개발 기술 통합 멋진 모바일 애플리케이션 UI 인터페이스를 구축하기 위한 Vue.js 및 Dart 언어, 실무 및 개발 기술 통합 Aug 02, 2023 pm 03:33 PM

    Vue.js와 Dart 언어의 통합, 멋진 모바일 애플리케이션 UI 인터페이스 구축을 위한 실습 및 개발 기술 소개: 모바일 애플리케이션 개발에서 사용자 인터페이스(UI)의 디자인과 구현은 매우 중요한 부분입니다. 멋진 모바일 애플리케이션 인터페이스를 달성하기 위해 Vue.js를 Dart 언어와 통합하고 Vue.js의 강력한 데이터 바인딩 및 구성 요소화 기능과 Dart 언어의 풍부한 모바일 애플리케이션 개발 라이브러리를 사용하여 멋진 모바일 애플리케이션을 구축할 수 있습니다. UI 인터페이스. 이 기사에서는 다음 방법을 보여줍니다.

    See all articles