gpt4 book ai didi

javascript - 如何证明angular服务是单例的?

转载 作者:行者123 更新时间:2023-11-30 11:48:55 24 4
gpt4 key购买 nike

听说angular服务是单例的。我怎么能证明这一点。对于 vanilla javascript,我可以创建一个单例模式并像下面的代码一样证明它。

var mySingleton = (function(){
var instance;

function init(){
var privateRandomNumber = Math.random();
return {
getRandomNumber : function(){
return privateRandomNumber;
}
}
}
return {
getInstance: function(){
if(!instance) {
instance = init();
}

return instance;
}
}
})();

var singleA = mySingleton.getInstance();
var singleB = mySingleton.getInstance();

console.log(singleA.getRandomNumber() === singleB.getRandomNumber());

任何人都可以给我一个代码快照来证明 Angular 服务是单例的,就像我在上面的代码中所做的那样。

最佳答案

var myApp = angular.module('myApp',[]);
myApp.service('mySingleton', function() {
var privateRandomNumber = Math.random();
return {
Number : privateRandomNumber
};
});

function MyCtrl($scope, mySingleton) {
$scope.randNumber = mySingleton.Number;
}

function MyCtrl2($scope, mySingleton) {
$scope.randNumber = mySingleton.Number;
}

HTML代码

<div ng-controller="MyCtrl">
Hello, {{randNumber}}!
</div>
<div ng-controller="MyCtrl2">
Hello, {{randNumber}}!
</div>

是的,两个 randNumber 是相同的。

关于javascript - 如何证明angular服务是单例的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40029141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com