首页 web前端 js教程 angularjs的基本介绍你了解多少?这里有angularjs的详细介绍

angularjs的基本介绍你了解多少?这里有angularjs的详细介绍

Sep 07, 2018 pm 02:02 PM
angularjs

本篇文章介绍了关于angularjs的简述中级篇,介绍了单页web应用,三种模板方式,$scope,作用域,遍历,其他指令,请求数据jqLite,$watch,$apply。接下来就让我们一起来看这篇文章吧

单页面应用程序的特点:整个网站由一个页面构成,公共部分只加载一次,利用Ajax局部刷新达到页面切换的目的,不会发生页面跳转白屏的现象,锚点与页面对应单页web应用的应用。                                                                                                                              

场景:单页面应用对搜索引擎不友好,不适合做面向大众的展示型网站,网站后台管理系统、办公OA、混合App等等不需要被搜索引擎搜索到的应用

<script src="node_modules/angular/angular.min.js"></script>
  <script src="node_modules/angular-route/angular-route.min.js"></script>
  <body ng-app="myApp">
      <a href="#!/index">首页</a>
        <a href="#!/list">列表页</a>
        <div ng-view></div>
  </body>
  <script>
      var app=angular.module(&#39;myApp&#39;,[&#39;ngRoute&#39;])
      app.config(function($routeProvider){
          $routeProvider
              .when(&#39;/index&#39;,{
                  templateUrl:&#39;./tpl/index.html&#39;,
                    controller:&#39;indexCtrl&#39;
              })
                .when(&#39;/list&#39;,{
                  templateUrl:&#39;./tpl/list.html&#39;,
                    controller:&#39;listCtrl&#39;
              })
                .otherwise(&#39;/index&#39;)
      });
        app.controller(&#39;indexCtrl&#39;,function($scope){
          $scope.msg="我是首页msg"
      })
        app.controller(&#39;listCtrl&#39;,function($scope){
          $scope.msg="我是列表页msg"
      })  </script>
登录后复制

三种模板方式

<script>
    templateUrl:&#39;./tpl/index.html&#39;//localhost
      template:&#39;<div>我是首页</div>&#39;//file|localhosst
      template:&#39;indexTpl&#39;//file|localhosst</script>
登录后复制

$scope

可以传递的参数有很多,不需要一一写出来

angularjs中传递参数不能依靠顺序而是名字

如果形参名字改变了,angularjs就不知道要干什么了

解决方法:第二个参数写数组,回调函数放到数组中

压缩的时候,不会对字符串进行压缩,所以数组中传递字符串来确定参数的顺序

 <script>
      angular.module("myApp",[]).controller("demoCtrl",["$scope","$timeout","$http","$location",function(a,b,c,d){
          a.msg="我是msg"
      }])  </script>
登录后复制

作用域

作用域就近原则

angularjs中控制器控制的区域就是一个局部作用域,

也就是$scope代表局部作用域

$rootScope代表全局作用域

变量先顺着$scope找,找不到就去全局找

可以挂载公共属性方法

遍历

ng-repeat="循环过程中的当前项 in 数据"循环数据并生成当前DOM元素

 <ul>
      <li ng-repeat="item in arr">{{item}}</li>
  </ul>
登录后复制

遍历数组对象,可以嵌套,有ng-repeat的标签中还可以嵌套ng-repeat的标签



  • {{person.name}}{{person.age}}
    {{item}}


数组项重复,会报错

 <ul>
      <li ng-repeat="item in arr track by $index">{{item}}</li>
  </ul>
登录后复制

其他指令

ng-class="{'类名1':布尔值,'类名2':布尔值}"专门用来添加或者删除类名,接收的值是一个对象,布尔值为真,添加类名,布尔值为假,删除类名

复选框,ng-model用来获取复选框的值,是一个布尔值

ng-bind="数据",将msg放到属性中进行加载,避免出现闪烁效果

ng-bind-template="{{数据1}} {{数据2}}"

ng-non-bindable直接得到插值表达式中的内容,只要与属性相关,都不执行

ng-show="布尔值",控制元素的显示和隐藏

ng-hide="布尔值",控制元素的显示和隐藏

ng-if="布尔值",控制元素的显示和隐藏 true 显示 false 隐藏

ng-switch&ng-switch-when用法和switch-case类似

事件指令

onclick => ng-click

onmouseenter => ng-mouseenter

onchange => ng-change

ng-dblclick 双击事件

ng-src没有src就不会解析就不会报错,直到angularjs加载完成,解析ng-src之后再生成src

ng-href同上

ng-options用来循环下拉列表,不能单独使用,需要配合ng-model一起使用

请求数据

要请求数据需要先引入js文件

引入的js文件作为依赖文件,控制器中必须写入$http

$http-->请求的地址,相当于jQuery中的ajax

method-->type请求的方式

params-->data只用于get传参

data可以用于post传参

$http点then后面是两个回调函数

第一个回调函数是成功回调

第二个回调函数是失败回调

res是形参,表示请求回来的数据

 <script src="node_modules/angular/angular.js"></script>
  <script src="node_modules/angular-sanitize.min.js"></script>
  <script>
      angular.module(&#39;myApp&#39;,[&#39;ngSanitize&#39;])
            .controller(&#39;demoCtrl&#39;,[&#39;$scope&#39;,&#39;$http&#39;,function($scope,$http){
              $http({                  url:&#39;./test.json&#39;,                    method:&#39;post&#39;,//请求方式
                    params:{//get传参
                        a:1,                      b:2
                    },                    data:{                        c:3,                      d:4
                    }
              }).then(function(res){                    //成功回调
                  console.log(res)
              },function(){                  //失败回调
              })                //另外一种写法
                $http.get(&#39;./test.json&#39;,{params:{a:1,b:2}}).then(function(res){                    //get方式传参
                  console.log(res)
              })
                $http.post(&#39;./test.json&#39;,{c:3,d:4}.then(function(res){                    //post方式传参
                  console.log(res)
              })
          }])  </script>
登录后复制

jqLite

为了方便DOM操作,angularjs提供了一个jQuery精简版,叫做jqLite

$(原生的JS对象)将原生JS对象转换成jQuery对象,目的是为了使用jQuery对象下面提供的方法

angularjs.element(原生JS对象)将原生JS对象转换成jqLite对象,目的是为了使用jqLite对象下面提供的方法

这里angularjs.element相当于jQuery中的$

jqLite中方法的使用和jQuery高度相似

$watch

$watch用来监控数据的变化

第一个参数是要监控的数据,第二个参数是回调函数

回调函数中第一个参数newValue是用户输入的最新内容,第二个参数oldValue是上一次用户输入的内容

页面一上来的时候,回调函数会先执行一次

<script>
      $scope.$watch(&#39;val&#39;,function(newValue,oldValue){          if(newValue.length>10){
              $scope.tips="大于10";
          }else{
              $scope.tips="小于10"
          }
      })  </script>
登录后复制

$apply

当通过原生JS将angularjs中的数据做了改变以后,angularjs不知道,所以需要调用$apply()方法通知angularjs更新html页面

以上就本篇关于angularjs简历的中级篇文章了,下一篇终极的在后面,大家期待吧,想学更多关于angularjs的相关知识就到PHP中文网angularjs参考手册栏目中学习。

以上是angularjs的基本介绍你了解多少?这里有angularjs的详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

2022年最新5款的angularjs教程从入门到精通 2022年最新5款的angularjs教程从入门到精通 Jun 15, 2017 pm 05:50 PM

Javascript 是一个非常有个性的语言. 无论是从代码的组织, 还是代码的编程范式, 还是面向对象理论都独具一格. 而很早就在争论的Javascript 是不是面向对象语言这个问题, 显然已有答案. 但是, 即使 Javascript 叱咤风云二十年, 如果想要看懂 jQuery, Angularjs, 甚至是 React 等流行框架, 观看《黑马云课堂JavaScript 高级框架设计视频教程》就对了。

使用PHP和AngularJS搭建一个响应式网站,提供优质的用户体验 使用PHP和AngularJS搭建一个响应式网站,提供优质的用户体验 Jun 27, 2023 pm 07:37 PM

在如今信息时代,网站已经成为人们获取信息和交流的重要工具。一个响应式的网站能够适应各种设备,为用户提供优质的体验,成为了现代网站开发的热点。本篇文章将介绍如何使用PHP和AngularJS搭建一个响应式网站,从而提供优质的用户体验。PHP介绍PHP是一种开源的服务器端编程语言,非常适用于Web开发。PHP具有很多优点,如易于学习、跨平台、丰富的工具库、开发效

使用PHP和AngularJS构建Web应用 使用PHP和AngularJS构建Web应用 May 27, 2023 pm 08:10 PM

随着互联网的不断发展,Web应用已成为企业信息化建设的重要组成部分,也是现代化工作的必要手段。为了使Web应用能够便于开发、维护和扩展,开发人员需要选择适合自己开发需求的技术框架和编程语言。PHP和AngularJS是两种非常流行的Web开发技术,它们分别是服务器端和客户端的解决方案,通过结合使用可以大大提高Web应用的开发效率和使用体验。PHP的优势PHP

使用Flask和AngularJS构建单页Web应用程序 使用Flask和AngularJS构建单页Web应用程序 Jun 17, 2023 am 08:49 AM

随着Web技术的飞速发展,单页Web应用程序(SinglePageApplication,SPA)已经成为一种越来越流行的Web应用程序模型。相比于传统的多页Web应用程序,SPA的最大优势在于用户感受更加流畅,同时服务器端的计算压力也大幅减少。在本文中,我们将介绍如何使用Flask和AngularJS构建一个简单的SPA。Flask是一款轻量级的Py

如何在PHP编程中使用AngularJS? 如何在PHP编程中使用AngularJS? Jun 12, 2023 am 09:40 AM

随着Web应用程序的普及,前端框架AngularJS变得越来越受欢迎。AngularJS是一个由Google开发的JavaScript框架,它可以帮助你构建具有动态Web应用程序功能的Web应用程序。另一方面,对于后端编程,PHP是非常受欢迎的编程语言。如果您正在使用PHP进行服务器端编程,那么结合AngularJS使用PHP将可以为您的网站带来更多的动态效

使用PHP和AngularJS开发一个在线文件管理平台,方便文件管理 使用PHP和AngularJS开发一个在线文件管理平台,方便文件管理 Jun 27, 2023 pm 01:34 PM

随着互联网的普及,越来越多的人在使用网络进行文件传输和共享。然而,由于各种原因,使用传统的FTP等方式进行文件管理无法满足现代用户的需求。因此,建立一个易用、高效、安全的在线文件管理平台已成为了一种趋势。本文介绍的在线文件管理平台,基于PHP和AngularJS,能够方便地进行文件上传、下载、编辑、删除等操作,并且提供了一系列强大的功能,例如文件共享、搜索、

AngularJS基础入门介绍 AngularJS基础入门介绍 Apr 21, 2018 am 10:37 AM

这篇文章介绍的内容是关于AngularJS基础入门介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下。

如何使用PHP和AngularJS进行前端开发 如何使用PHP和AngularJS进行前端开发 May 11, 2023 pm 05:18 PM

随着互联网的普及和发展,前端开发已变得越来越重要。作为前端开发人员,我们需要了解并掌握各种开发工具和技术。其中,PHP和AngularJS是两种非常有用和流行的工具。在本文中,我们将介绍如何使用这两种工具进行前端开发。一、PHP介绍PHP是一种流行的开源服务器端脚本语言,它适用于Web开发,可以在Web服务器和各种操作系统上运行。PHP的优点是简单、快速、便

See all articles