Angularjs 使用SayHello:function(text)时出错
您正在从服务返回一个对象。您所需要做的就是将方法和属性放在Angularjs 使用SayHello:function(text)时出错,angularjs,Angularjs,您正在从服务返回一个对象。您所需要做的就是将方法和属性放在这个指针上。或者,创建一个工厂,您可以在其中返回一个对象并避免使用this。这是服务业和工厂的唯一区别 var app=angular.module('myApp',[]) app.factory('testFactory',function() { return { SayHello: function(text){ return "Hello " +text; } } });
这个
指针上。或者,创建一个工厂,您可以在其中返回一个对象并避免使用this
。这是服务业和工厂的唯一区别
var app=angular.module('myApp',[])
app.factory('testFactory',function()
{
return {
SayHello: function(text){
return "Hello " +text;
}
}
});
app.service('testService',function(){
{
return {
this.SayHello= function(text){
return "Hello " +text;
}
}
}
您会注意到,在服务中,我们不必归还任何东西。这是因为服务是使用
new
实例化的。另一方面,工厂被实例化为一个常规函数调用,所以我们必须返回我们想要的。在本例中,我们自制的对象使用SayHello作为方法。在您的工厂中
,在末尾有一个额外的}
右括号。在您的服务中
,您在开始处有一个额外的{
左括号。标记“function”上的语法错误,如果需要,请编辑您的问题以包含该信息,并格式化您的codevar app=angular.module('myApp',[])app factory('testFactory',function(){return SayHello:function(text){return“Hello”+text;}}}});这是我的factory方法代码,但在使用factory方法时,我得到了一个错误,即标记“function”上的语法错误,如果需要的话。您也可以发布使用factory的代码吗?听起来像是打字错误,或者像是缺少或额外的花括号。var app=angular.module('myApp',[])之类的简单代码app.factory('testFactory',function(){return{SayHello:function(text){return“Hello”+text;}};});错误一定来自代码的另一部分。该工厂看起来很正常。
// As a service
app.service('testService', function() {
this.SayHello = function(text) {
return 'Hello ' + text;
};
});
// As a factory
app.factory('testFactory', function() {
return {
SayHello: function(text) {
return 'Hello ' + text;
}
};
});