zoukankan      html  css  js  c++  java
  • AngularJS中的provider、factory以及service区别

       >>>AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML。
      【AngularJS常用指令】
      1、ng-app:声明Angular所管辖的区域。一般写在body或html上,原则上一个页面只有一个;
         <body ng-app=""></body> 
      2、ng-model:把元素值(比如输入域的值)绑定到应用程序的变量中。
         <input type="text" ng-model="name"/>  
      3、ng-bind:把应用程序变量中的数据绑定到 HTML视图中。可用表达式{{ }}替代;
         <div ng-bind="name"></div>
         <div>{{name}}</div> 
      4、ng-init:初始化 AngularJS应用程序中的变量。
         <body ng-app="" ng-init="name=123"> 
      5、表达式: {{}} 绑定表达式,可以包含文字、运算符和变量。但表达式在网页加载瞬间会看到{{}},所以可以用ng-bind=""替代
         {{ 5 +""+ 5 + ',Angular'}}  
      【基本概念】
      1、指令:AngularJS中,通过扩展HTML的属性提供功能。所以,ng-开头的新属性,被我们成为指令

      【AngularJS中的MVC】

        [MVC三层架构]
      1、Model(模型):应用程序中用于处理数据的部分。(保存或修改数据到数据库、变量等)。AngularJS中的Model特指的是:数据
         View(视图):用户看到的用于显示数据的页面;
         Controller(控制器):应用程序中处理用户交互的部分。负责从视图读取数据,控制用户输入,并向模型发送数据。
      2、工作原理: 用户从视图层发出请求,controller接收到请求后转发给对应的model处理,model处理完成后返回结果给controller,并在view层反馈给用户。

    创建一个Angular模块,即ng-app所绑定的部分,需传递两个参数:
      ① 模块名称,即ng-app所需要绑定的名称。ng-app="myApp"
      ② 数组:需要注入的模块名称,不需要可为空。
         var app = angular.module("myApp",[]);
      
        在Angular模块上,创建一个控制器Controller,需要传递两个参数
      ① Controller名称,即ng-controller需绑定的名称。ng-controller="myCtrl"
      ② Controller的构造函数:构造函数可以传入多个参数,包括$scope/$rootScope以及各种系统内置对象;

      
       [AngularJS中的作用域]
      
    ① $scope:局部作用域,声明在$scope上的属性和方法,只能在当前Controller中使用;
      ② $rootScope:根作用域,声明在$rootScope上的属性和方法,可以在ng-app所包含的任何区域使用(无论是否同一Controller,或是否在Controller包含范围中)。
      >>> 若没有使用$scope声明变量,而直接在html中使用ng-model绑定的变量作用域为:
          1.如果ng-model在某个ng-controller中,则此变量会默认绑定到当前Controller的$scope上;
          2.如果ng-model没有在任何一个ng-controller钟,则此变量将绑定在$rootScope上;

              ---------------区别-------------------

    一、服务service

    内置服务:

    >>> 使用内置服务,必须在Controller中通过函数的参数注入进来!!!!!

    $location:返回当前页面的 URL地址。

    $http:向服务器发送请求,应用响应服务器传送过来的数据,类似于Ajax

    $timeout:相当于setTimeout();

    $interval:相当于setInterval();

    二、服务factory

    factory是一个函数用于返回值,通常我们使用factory函数来计算或返回值。

    factory使用上,与service差距不大。

    三、服务provider

    1、在AngularJS中,Service,factory都是基于provider实现的。 2、在provider中,通过$get()方法提供了factory的写法,用于返回 value/service/factory。; 3、provider是三种自定义服务中,唯一可以写进config配置阶段的一种。 如果服务,必须要在配置阶段执行,那么必须使用provider。否则,一般使用Service或factory。

  • 相关阅读:
    不敢想,做个博客竟如此简单!
    我有一台服务器,能干啥?
    精品 IDEA 插件大汇总!值得收藏
    怒肝半月!Python 学习路线+资源大汇总
    怒肝 Linux 学习路线,这回不难
    多环境
    分享 10 个高星的创意项目!
    js的attribute
    选择大厂该做哪些准备?|小白进入大厂现状
    小白程序猿了解大厂的开发模式
  • 原文地址:https://www.cnblogs.com/lwhvicky/p/6822648.html
Copyright © 2011-2022 走看看