我在w3schools教程中开始学习angularjs。下面是一个示例,用于编写您的自定义服务
app.service('hexafy', function() {
this.myFunc = function (x) {
return x.toString(16);
}
});
app.controller('myCtrl', function($scope, hexafy) {
$scope.hex = hexafy.myFunc(255);
});
为什么下面的方法不起作用-
app.service('hexafy', function(x) {
return x.toString(16);
});
app.controller('myCtrl', function($scope, hexafy) {
$scope.hex = hexafy(255);
});
在这里,我让函数接受参数并对其进行处理,而无需在其中创建新函数。但是这种方法似乎行不通。
最佳答案
服务应该是可实例化的函数,因此Angular会像构造函数那样为您创建服务的实例。如果您只想注册要调用的函数而不构造实例,请使用值:
app.value('hexafy', function(x) {
return x.toString(16);
});