angularjs – 角度vs角度2 [closed]

前端之家收集整理的这篇文章主要介绍了angularjs – 角度vs角度2 [closed]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
几个月前,我决定学习Angular。当我做一些进步和使用它创建一些应用程序,我意识到Angular 2是在开发人员预览,所以它的时间问题,它的重要性。因为Angular 2不会与Angular 1兼容,并且有很多变化,问题是如果它更好地继续使用Angular 1.x开发或开始开发Angular 2。

它的事实,不总是我们必须与最后的版本,或最新的语言的市场,但在这种情况下,应用程序仍然很小,所以我可以改变与出问题。

我已经玩过Angular 2,看了一些讨论,所以假设你很喜欢Angular 1,那么这里是一个简短的视图,你会注意到Angular 2不同。

>你在Typescript中写你的角码,它转换成
Javascript在浏览器中。

在一个基本结构中,你将有一个app / ts文件夹,其中你将做你最大的工作和一个app / js,它被告诉编译通过一个tsconfig.json文件,将位于项目的根。你会在app / js文件夹中找到一个扩展名为.js.map的文件。他们将“.ts”文件“映射”到您的浏览器进行调试,因为您的浏览器无法读取原生的打字稿。

如果你想我必须学习一门全新的语言吗?…是的,你做,但不要觉得这太吓人,这应该使你的开发更容易,如我在#2中看到的,我觉得我有一个很好的把握,只是几个小时玩它。

>你绑定到你的HTML,就像你在一个Angular 1指令。所以像$ scope和$ rootScope这样的变量已被弃用。

这个你可能已经暗示为#1状态Angular 2在打字稿。 Angular 2仍然是一个MV *,但你会使用’组件’作为一种方式绑定代码到您的模板,例如采取以下

import {component} from {angular2/core};

@component({
     selector:'my-app',template: '<h1> Hello World! </h1>'
})

export class AppComponent {}

这里想到import语句作为v1控制器中的依赖注入。您可以使用import导入您的包,其中import {component}表示您将要创建一个要绑定到HTML的组件。

注意@component装饰器你有一个选择器和模板。这里把选择器看作你的$ scope,像你使用v1指令一样,选择器的名字是你用来绑定你的HTML的。

其中< my-app>是您将使用的自定义代码名称,将作为模板中声明的内容的占位符,即< h1>你好,世界! < / h1&gt ;.而这将喜欢下面的v1。 HTML

<h1>{{hello}}</h1>

js

$scope.hello = "Hello World!"

也从我的理解,如果在这些标签之间添加东西例如

<my-app> Loading... </my-app>

则在模板加载时(在我们的示例中为< h1> Hello World!< / h1>)在视图中显示“正在加载…”

请注意,模板中声明的是您在选择器代码中的HTML中使用的路径或原始HTML。

而更全面的Angular 1的实现看起来更像

HTML

<h1 ng-controller="myCtrl">{{hello}}</h1>

在v1这看起来像

js

angular.module('controller',[])



.controller('myCtrl',function( $scope) {
    $scope.hello = "Hello World!"
})

这是我真的很喜欢v2,因为我发现指令有我在v1中的沉浸的学习曲线,即使我有他们想出我经常有css渲染不是我的意图。我发现这更简单。

V2允许您的应用程序更容易的可扩展性,你会注意到,你可以分割你的应用程序比你在v1中更容易。我喜欢这种方法,因为你可以有一个文件中的所有工作部分,而不是有多个角度在v1。

将您的项目从v1转换到v2怎么样?

从我从开发团队听到的,如果你想更新你的v1项目到v2,你只是将经历和删除过时的blob,并用选择器替换$ scope。我认为这部影片很有帮助。这是与一些离线团队,与角队的工作肩并肩,因为v2有更强的重点移动https://youtu.be/OZg4M_nWuIk希望这有助于。

更新:我更新了通过添加示例作为Angular 2的官方实现已经浮出水面。

猜你在找的Angularjs相关文章