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。

  • 相关阅读:
    高斯消元学习
    HDU 4596 Yet another end of the world(解一阶不定方程)
    Codeforces Round #318 div2
    HDU 4463 Outlets(一条边固定的最小生成树)
    HDU 4458 Shoot the Airplane(计算几何 判断点是否在n边形内)
    HDU 4112 Break the Chocolate(简单的数学推导)
    HDU 4111 Alice and Bob (博弈)
    POJ 2481 Cows(线段树单点更新)
    HDU 4288 Coder(STL水过)
    zoj 2563 Long Dominoes
  • 原文地址:https://www.cnblogs.com/lwhvicky/p/6822648.html
Copyright © 2011-2022 走看看