AngularJS依赖注入 Value和Constant的区别

来源:互联网 发布:贵阳软件开发公司 编辑:程序博客网 时间:2024/06/07 21:53
<!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
原创粉丝点击