AngularJS依赖注入 Value和Constant的区别

<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title>AngularJS依赖注入 Value和Constant的区别</title>
      <script type="text/javascript" src="../js/angular.js" ></script>
      <script>
         /* Value和Constant的区别:
          *  angularJS可以通过constant()和value()注入值。对于创建服务也是很重要的。
            相同点:都可以接受两个参数,name和value。
            不同点: constant()可以将一个已经存在的变量值注册为服务,并将其注入到应用的其他部分中。
                  而value则会抛出异常。即:常量可以注入到配置函数中,而值不行。 */
         var name,word; 
         var app = angular.module("myApp",[]);
         
         // 1. constant()可以将一个已经存在的变量值注册为服务,并将其注入到应用的其他部分中
         app.constant("myConstant","学而时习之,不亦说乎。");
         //  创建 value值对象 "myValue" 传递数据,不过不能注入到config()函数中;
         app.value("myValue","学而不思则罔,思而不学则殆!");
         
         // 2. 常量constant可以注入到配置函数中,将一个已经存在的变量值注册为服务,并将其注入到应用的其他部分中。
         app.config(function(myConstant){
            alert(myConstant);
            name = myConstant;
         });          
         // 相同点:都可以接受两个参数,name和value。
         app.controller("myCtrl",function($scope,myConstant){
            $scope.famousWords = myConstant;
            $scope.name = name;
         });
         
         // 3. 值value不可以注入到配置函数中,否则会抛出异常:Unknown provider: myValue
//       app.config(function(myValue){
//          alert(myValue);
//          word = myValue;
//       });
//       // 相同点:都可以接受两个参数,name和value。
//       app.controller("myCtrl",function($scope,myValue){
//          $scope.value = myValue;
//          $scope.word = word;
//       });
      </script>
   </head>
   
   <body ng-app="myApp" ng-controller="myCtrl">
      <p>孔子曰:{{famousWords}}</p>
      <p>孔子曰:{{name}}</p>
      
      <p>孔子曰:{{value}}</p>
      <p>孔子曰:{{word}}</p>       
   </body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值