AngularJS入门 、AngularJS控制器 、AngularJS常见的内置指令

先声明一下,我现在是一名在外培训的学员,主要培训的是H5技术,这几天我刚刚接触AngularJS框架,感觉它使用起来挺方便的,优化了代码,我通过这几天的学习,也稍微了解了一些关于它的一些知识,下面是我这几天学到的知识。

AngularJS的定义和解决方案:

   AngularJS是一个基于MVC处理模式,实现了MVVM数据双向绑定的用于开发动态web项目的框架。以其数据和展现分离、MVVMMVCDI等强大的特性活跃于前端开发市场,是前端敏捷开发使用的主流的必须掌握的框架之一。

AngularJS是前后端分离软件架构模型下,前端业务处理的解决方案!AngularJSweb应用前端的一个完整的解决方案,框架不仅提供了优雅的DOM操作和基于Ajax的数据交互技术,同时进行了良好的结构整理和常规的业务逻辑处理的封装,使得Angular构建的应用能够灵活的适应不同的项目场景。

        注意:AngularJS中提供了如下的解决方案用以前端开发:

数据双向绑定、基本模板指令、自定义指令、表单验证、路由操作、依赖注入、过滤器、内置服务、自定义服务、组件、模块

外链:AngularJS的官方网站:http://angularjs.org ;

           AngularJS的代码下载:http://code.angularjs.org;

           AngularJSd的官方教程:https://code.angularjs.org/1.6.4/docs/tutorial ;

              AngularJS1.x官方开发向导: https://code.angularjs.org/1.6.4/docs/guide;

         AngularJS1.x官方API: https://code.angularjs.org/1.6.4/docs/api ;

我们在开始编写AngularJS时,必须首先引入<script src="js/lib/AngularJS/angular.min.js"></script>

物车功能用Jquery编写:

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/lib/jquery2.2.4/jquery-2.2.4.js"></script>
</head>
<body>
    <div id="price">单价:¥<span>144</span></div>
    购买数量:<input type="text" id="count" value="1"><br />
    小计金额:¥<span id="subtotal"></span>
    <script>
        $(function() {
            calaulation();
            $("#count").keyup(function() {
                calaulation();
            })
        })
        function  calaulation() {
            var $price = $("#price > span").text();
            var $count = $("#count").val();
            var $st = parseFloat($price) * parseInt($count);
            $("#subtotal").text($st);
        }
    </script>
</body>
</html>

下面是一个用AngularJS编写的一个实现购物车功能的代码:

<!DOCTYPE html>
<html ng-app><!-- 根标签上,增加了一个ng-app属性 -->
<head>
    <meta charset="UTF-8">
    <title>Angular入门程序</title>
    <script src="js/lib/AngularJS/angular.min.js"></script>
</head>
<body>
    <div ng-init="count=1;price=144"><!-- 增加了一个ng-init属性,属性值中定义了两个变量 -->
        单价:<span>{{price}}</span><!-- 输出了一个变量的值 -->
        购买数量:<input type="text" ng-model="count"><br /><!--  将一个变量的值和输入框绑定了 -->
        小计金额:{{ price * count }}<!-- 计算了结果 -->
    </div>
</body>
</html>
两者相比之下,可以看出用AngularJS编写的购物车实现功能虽然与用Jquery编写的一样, 但是代码的数量
少了很多,优化了代码。
1、AngularJS内部主要的内容:
  (1) ng-app是AngularJS应用程序运行的入口,当AngularJS程序要运行时,找到了ng-app开始运行
运行开始 ,加载主要模块:myApp模块。
<html ng-app="myApp">
定义一个Angular模块:作用:用于启动AngularJS应用程序;
var app = angular.module("myApp", []);
(2)将一个标签和控制器进行绑定,控制器中的数据,就可以使用在这个标签的内部了。
<div ng-controller="myCtrl" >
定义控制器:控制器的参数$scope 是不需要传递数据的,AngularJS会自动给它赋值,$scope上可以挂在数
据,用于当前控制器的范围。
 app.controller("myCtrl", function($scope) {
        $scope.name = "jerry";
    })
(3)ng-model用来将表单元素的数据和变量双向绑定。
(4)双大括号中,可以直接写变量名称,和变量的数据绑定,变量的数据发生改变,页面的数据会同时改
变。{{greeting}}。
2、基础语法结构:
1>. AngularJS号称模块化,组件化项目开发的框架
    模块/组件:积木
    根模块:通过ng-app的属性值来指定【指定的是名称】--指定了一个myApp的模块;
2>.通过ng-controller来将控制器和对应的标签绑定,定义好了控制器的作用范围【开始标签~结束标签之间】.
3>.基础语法结构:
        mustache语法~ 通俗的说,就是双大括号!
        用于输出变量的数据、进行数据的运算等等
        但是mustache语法,由于加载如果缓慢的情况会出现直接将大括号打印到页面上的问题
        所以通常项目开发时,使用ng-bind来代替;
4>. ng-init这个东西,主要用来在标签中初始化一些变量数据【不推荐】。
补充:双向绑定与$watch:
数据双向绑定,绑定的是标签中的属性值<==>JS中的变量
        当标签的属性值发生变化->angular自动给JS中的变量赋值
        或者JS中的变量发生变化->angular自动给标签中的属性值赋值
        但是:不会重复执行代码
$watch()监听:
        问题:我们需要在x或者y发生变化的时候,让z发生变化!!!!!
        >>> 通过让angular监视变量x和变量y,如果x和y任意一个发生变化
            就重复执行$scope.z = $scope.x * $scope.y;代码
        >>> 通过$scope的$watch()函数来监视

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值