zoukankan      html  css  js  c++  java
  • angularJS constant和value

    angularJS可以通过constant(name,value)和value(name,value)对于创建服务也是很重要的。
    相同点是:都可以接受两个参数,name和value。
    区别:
    1.constant(name,value)可以将一个已经存在的变量值注册为服务,并将其注入到应用的其他部分中。其中,name为注册的常量的名字,value为注册的常量的值或对象。
    举例:
    (1)value为值时:
    angular.module('myApp') .constant('apiKey','123123123')
    .controller('MyController', function($scope, apiKey) {
    // 可以像上面一样用apiKey作为常量
    // 用123123123作为字符串的值
    $scope.apiKey = apiKey;
    });
    (2)value为对象时:
    angular.module('myApp') .constant('apiKey',{name:[],age:[],date:[]})
    .factory('myFactory',function(apiKey,$scope){
    apiKey.name = "lyy";
    });
    2.value(name,value)的name同样是需要注册的服务名,value将这个值将作为可以注入的实例返回。
    ngular.module('myApp')
    .value('apiKey','123123123');
     
    它们最大的区别是:常量可以注入到配置函数中,而值不行。
    通常情况下,可以通过value()来注册服务对象或函数,用constant()来配置数据。
    复制代码
    angular.module('myApp', [])
    .constant('apiKey', '123123123')
    .config(function(apiKey) {
    // 在这里apiKey将被赋值为123123123
    // 就像上面设置的那样
    })
    .value('FBid','231231231')
    .config(function(FBid) {
    // 这将抛出一个错误,未知的provider: FBid
    // 因为在config函数内部无法访问这个值
    });
    复制代码

    综上,当我们想要创建一个服务,并且这个服务只需要返回数据时,就可以使用constant(name,value)和value(name,value),不过,它们有两个显著的区别:

    1.value不可以在config里注入,但是constant可以

    2.value可以修改,但是constant不可以修改,一般直接用constant配置一些需要经常使用的数据。

     
     
  • 相关阅读:
    在QT函数中返回一个数组/把一个数组传参给函数
    QT储存内容到指定的文件内
    QT对linux下/sys/class/gpio中的gpio的控制
    QT 线程的暂停和继续
    QT的close和系统的close冲突
    画动态曲线另一种方式方式
    QT关于iCCP警告去除
    ps两张图片合在一起
    ps 做动态图
    解决MFC中因控件类多次Attch造成的销毁窗口过程中CWnd* pWnd = CWnd::FromHandlePermanent(hWnd); ASSERT(pWnd != NULL); 断言失败的问题
  • 原文地址:https://www.cnblogs.com/pangguoming/p/7209333.html
Copyright © 2011-2022 走看看