【发布时间】:2018-01-18 03:54:12
【问题描述】:
这个想法是编写一个简单的服务,将 2 个数字相乘,然后将其传递给控制器并在 html 页面中显示。但是,我似乎无法显示结果,因为它只是显示 {{product}}。
- 编辑:当我将对象移动到与服务相同的文件中时,它可以工作。但是,当我将它放在一个名为 objects.js 的单独文件中(在同一文件夹中)时,就好像它不再对服务可见,并且不再起作用。我想让它像那样工作。
这是代码的所有部分:
- JavaScript 对象:
function Multiplier(valueFactor) {
this.multiply = function (controllerFactor) {
return valueFactor * controllerFactor;
};
}
- 服务:
var services = angular.module("services",[]);
services.value('factor',6);
services.service('multiplier',['factor', Multiplier]);
- 控制器:
var app = angular.module("app",['services']);
app.controller('multiplyController',['$scope','multiplier', function($scope,multiplier) {
$scope.product = multiplier.multiply(2);
}]);
- HTML 页面:
<!DOCTYPE html>
<html ng-app="app">
<head>
</head>
<body>
<div ng-controller="multiplyController">
{{product}}
</div>
<script src="js/angular.js"></script>
<script src="js/angular-route.js"></script>
<script src="js/jquery.min.js"></script>
<script src="app/app.js"></script>
<script src="app/controllers.js"></script>
<script src="app/services.js"></script>
</body>
</html>
【问题讨论】:
标签: javascript angularjs frontend