-
angular.js是什么
AngularJS 是一个 JavaScript 框架。它可通过 <script> 标签添加到 HTML 页面。
AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML。
AngularJS主要用于构建单页面Web应用。它通过增加开发人员和常见Web应用开发任务之间的抽象级别,使构建交互式的现代Web应用变得更加简单。
AngularJS使开发Web应用变得非常简单,同时也降低了构建复杂应用的难度。它提供了开发者在现代Web应用中经常要用到的一系列高级功能,例如:
1.解耦应用逻辑、数据模型和视图;
2.Ajax服务;
3.依赖注入;
4.浏览历史(使书签和前进、后退按钮能够像在普通Web应用中一样工作);
5.测试等。
AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入
-
$scope是什么对象,干什么用的?
- $scope是一个作用域,也可以理解为一个对象。
- $scope提供了一些工具和方法,比如$watch()和$apply()等等。
- $scope也是一个执行环境(作用域)。
- 子$scope可以继承父$scope的属性和方法。
- 每一个Angular应用只有一个跟$scope($rootscope,位于ng-app中)。
-
数据绑定
- 插值表达式{{}} 展示数据
- ng-bind 展示数据 (和上者功能基本一样)
- ng-modle 双向绑定数据
- 关于angularjs的特点
1.数据的双向绑定:这可能是其最激动人心的特性吧,view层的数据和model层的数据是双向绑定的,其中之一发生更改,另一方会随之变化,这不用你写任何代码!(想想jQuery方式下怎么做吧)
2.代码模块化,每个模块的代码独立拥有自己的作用域,model,controller等。
3.强大的directive可以将很多功能封装成HTML的tag,属性或者注释等,这大大美化了HTML的结构,增强了可阅读性;
4.依赖注入,将这种后端语言的设计模式赋予前端代码,这意味着前端的代码可以提高重用性和灵活性,未来的模式可能将大量操作放在客户端,服务端只提供数据来源和其他客户端无法完成的操作;
5.测试驱动开发,angularjs一开始就以此为目标,使用angular开发的应用可以很容易地进行单元测试和端对端测试,这解决了传统的js代码难以测试和维护的缺陷