Angularjs 在angular JS中声明服务中的对象
我试着用一段代码将AngularJS控制器中的值放入html页面,该控制器注入了一个服务 我在服务中创建了一个对象,并将一些值作为属性添加到此对象。接下来,我在控制器中读取该值 现在我观察到的是,服务的名称和对象的名称应该是相同的,只有这样,值才会正确出现,否则就不会 以下是HTML代码:-Angularjs 在angular JS中声明服务中的对象,angularjs,angularjs-service,angularjs-controller,Angularjs,Angularjs Service,Angularjs Controller,我试着用一段代码将AngularJS控制器中的值放入html页面,该控制器注入了一个服务 我在服务中创建了一个对象,并将一些值作为属性添加到此对象。接下来,我在控制器中读取该值 现在我观察到的是,服务的名称和对象的名称应该是相同的,只有这样,值才会正确出现,否则就不会 以下是HTML代码:- <html> <head> <title>AngularJS Services</title> <script type="te
<html>
<head>
<title>AngularJS Services</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0-beta.5/angular.min.js"></script>
<script type="text/javascript" src="abc.js"></script>
</head>
<body ng-app="myApp">
<div ng-controller="Addition as add">
<p>{{ add.num }}</p>
</div>
</body>
</html>
以下是不起作用的代码:-
angular.module('myApp',[]);
angular.module('myApp').factory('number',function(){
var num={};
num.val=10;
return num;
});
angular.module('myApp').controller('Addition',function(number){
var self=this;
self.num=num.val;
});
服务名称和对象名称必须相同吗?您犯了一个小错误。应该是:
angular.module('myApp').controller('Addition',function(number){
var self=this;
self.num=number.val;
});
这是因为num在函数中未定义
angular.module('myApp')
.controller('Addition',function( number ){
var self=this;
self.num = num.val;
});
您得到的只是对控制器中num的引用
“number”只是您工厂的名称。因此,上述代码将不起作用
你必须使用
angular.module('myApp')
.controller('Addition',function(number){
var self=this;
self.num = number.val;
});
这就是我声明名为number的对象的时候,它工作正常。但当我声明num时,它不起作用。角度模块('myApp',[]);angular.module('myApp').factory('number',function(){var num={};num.val=10;return num;});angular.module('myApp').controller('Addition',function(number){var self=this;self.num=num.val;});
angular.module('myApp')
.controller('Addition',function(number){
var self=this;
self.num = number.val;
});