AngularJS 依赖注入

官方demo解析:

<!doctype html>
<html>

    <head>
        <meta charset="utf-8">
        <title>form demo</title>
        <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0" />
        <script type="text/javascript" src="js/jquery-1.12.4.min.js" ></script>
        <script src="js/angular.min.1.6.0.js"></script>



    </head>

    <body ng-app="app" ng-controller="myctrl">
         <h2>AngularJS 简单应用</h2>

      <div >
         <p>输入一个数字: <input type = "number" ng-model = "number" /></p>
         <button ng-click = "square()">X<sup>2</sup></button>
         <p>结果: {{result}}</p>
      </div>


    </body>

    <script>
        var mainApp = angular.module('app', []);


        //用 provide 创建 service       provide---->service
        //为什么要创建此service呢?这个是controller里做运算要用到的

          mainApp.config(function($provide) {
            $provide.provider('MathService', function() {
               this.$get = function() {
                  var factory = {};

                  factory.multiply = function(a, b) {
                     return a * b;
                  }
                  return factory;
               };
            });
         });

        //创建自定义运算服务(MathService是上一步创建好的,这里可以用了)

         mainApp.service('CalcService', function(MathService){
            this.square = function(a) {
               return MathService.multiply(a,a);
            }
         });

         //为controller创建要传递的值(value)

         mainApp.value("defaultInput", 5);



        //controller里注入了自定义的CalcService   

         mainApp.controller('myctrl', function($scope, CalcService, defaultInput) {
            $scope.number = defaultInput;
           // $scope.result = CalcService.square($scope.number);

            $scope.square = function() {
               $scope.result = CalcService.square($scope.number);
            }
         });




    </script>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值