javascript - AngularJS 中自定义服务的风格建议

标签 javascript angularjs

我是 Angular JS 的新手。我正在其中创建自定义服务。

  var myApp = angular
            .module("myModule", [])
            .controller("myController", function ($scope, stringService) {
                $scope.callMe = function (input) {
                    $scope.wish= stringService.processFunction(input);
                };
            });


myApp.factory('stringService', function () {
        return {
            processFunction: function(input){
                //Manipulate you data here.
                return "Hello " + input;
            }
        };
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" ng-app="myModule">
    <head>
        <script src="Scripts/angular.js"></script>
        <script src="JavaScriptCusomServiceMain.js"></script>
        <script src="JavaScriptCustomService.js"></script>
        <title></title>
    </head>
    <body ng-controller="myController">
        <input type="text" placeholder="Your Name" ng-model="name" />
        <input type="text" placeholder="Your Name" ng-model="wish" />
        <input type="button" value="Click Here" ng-click="callMe(name)" />
        <br />
    </body>
    </html>

为什么我们必须在两个 JavaScript 代码中使用相同的名称“myApp”?

最佳答案

myApp 保存对您使用 angular.module('modulename', []); 定义的模块的引用

如果您想在没有现有变量的情况下再次获取相同的模块引用,您可以使用不带第二个参数的 .module 方法来实现,当第二个参数 dependency 存在时定义模块,如果没有给出第二个参数,它将返回已经定义的模块,所以像下面这样的操作也是有效的

angular
  .module("myModule").service('stringService', function{/** return object of factory **/});

及以上内容也可以放入单独的文件中,但请确保首先包含定义模块的文件,否则 Angular 将给出有关模块未定义的错误

关于javascript - AngularJS 中自定义服务的风格建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42804448/

相关文章:

javascript - 最佳 JavaScript 压缩器

javascript - 使用 ng-repeat 后如何显示唯一值?

ruby-on-rails - IE 10+ 不会在跨域 CSS url() 请求上发送 cookie

angularjs - 复杂的 Angular JS ng-class

javascript - 使用 .css ("background-color") 进行比较 jQuery/Js

javascript - 使用多个 Controller 实例化模块中的 $scope

javascript - Twitter Bootstrap 下拉菜单——奇怪的点击行为

javascript - 按钮上的欧芹验证 + 自定义验证器不起作用

javascript - AngularJS:如何使用 $filter 按两个表达式进行过滤

css - 简单尝试使用 AngularJS 更改字体颜色,为什么它不起作用?