我是 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/