修复 "value" 和 "factory" 之间重写服务的示例

Fixing an example of rewriting services between "value" and "factory"

我只是尝试简化示例 (link) 演示如何在 angularJS 中使用工厂即服务。

后来发现valueconstant可以进一步简化代码。我用下面粘贴的代码替换了 app.js。由于某种原因,它不适用于相同的功能。

var app = angular.module('app', []);
app.value(UserInformation, "angular");
app.controller('MainCtrl', function($scope, UserInformation) {
   $scope.user = UserInformation;
});
app.controller('SecondCtrl', function($scope, UserInformation) {
   $scope.user = UserInformation;
});

有人可以指导我如何更改上述代码以提供与原始代码相同的功能吗link?

app.value 的第一个参数应该是一个字符串。现在您正在为其分配一个未定义的变量。进行以下更改,它应该会起作用。

var app = angular.module('app', []);

app.value('UserInformation', {
  name: "Angular.js"
});

app.controller('MainCtrl', function($scope, UserInformation) {
  $scope.user = UserInformation;
});

app.controller('SecondCtrl', function($scope, UserInformation) {
  $scope.user = UserInformation;
});