最近一段时间的AngularJS学习终于告一段落了,虽然没有做什么实际的项目,但是因为写过微信小程序,总体感觉还是非常相似的。下面就让我对我这段时间的学习来一个总结吧!
一、什么是AngularJS?
AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVW(Model-View-Whatever)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
AngularJS 是一个 JavaScript框架。它是一个以 JavaScript 编写的库。它可通过 <script> 标签添加到HTML 页面。
AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML。
AngularJS 是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中。
详戳->AngularJS_百度百科
二、主要语法
1.如何引用
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
2.主要指令
ng-app 指令定义一个 AngularJS 应用程序。
ng-model 指令把元素值(比如输入域的值)绑定到应用程序。
ng-bind 指令把应用程序数据绑定到 HTML 视图。
ng-controller 指令用于为你的应用添加控制器。
这里我说一下自己对ng-controller的理解,这是一个控制器,比如下面的代码:
<div ng-app="myApp" ng-controller="myCtrl">
名字: <input ng-model="name">
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.name = "John Doe";
});
</script>
这里controller的管理边界就是div之内,在div之外也可以添加controller,在js代码中可以定义每个controller内所包含的元素,各个controller互不干扰。
3.数据绑定
和微信小程序一样, {{ username }} 表达式是一个 AngularJS 数据绑定表达式,可以通过改变username的值动态改变页面内容。
三、双向绑定
双向绑定,在修改输入域的值时, AngularJS 属性的值也将修改:
<div ng-app="myApp" ng-controller="myCtrl">
名字: <input ng-model="name">
<h1>你输入了: {{name}}</h1>
</div>
四、AngularJS MVC框架
module创建AngularJS的模块,模块中每个controller都是相当于一个最小化的MVC,controller,即是C,$scope即是M,M里是各种模型,通过双向绑定,将M绑定到View层,在页面中进行显示
五、如何在多个controller中调用同一个service
把key放入注入函数中,即可实现共用数据。
六、使用$http对数据增删改
前端js代码:
后端代码:
主要是通过$http,像后端发送数据,并接收后端返回的数据,使用方式也非常的像小程序了。
好了,我的总结暂时先写这么多,因为自己只写过一个demo,真正很多指令都没有实践过,所以就到这里啦,有误解的地方也请大家多多指教~~
希望我的记录能够帮到你~ 喜欢请点赞!
谢谢你看到这里!写作仓促,有疏漏之处还请评论指正,共同探讨进步!