Javascript AngularJs—服务中的函数如何相互访问?
我有以下javascript:Javascript AngularJs—服务中的函数如何相互访问?,javascript,angularjs,Javascript,Angularjs,我有以下javascript: var myApp = angular.module('myApp', []); myApp.factory( "TestService", function() { return { clickString: "click me", clickStringProxy: this.clickString } }); function MyCtrl($scope, TestService) { $sc
var myApp = angular.module('myApp', []);
myApp.factory( "TestService", function() {
return {
clickString: "click me",
clickStringProxy: this.clickString
}
});
function MyCtrl($scope, TestService) {
$scope.clickString = TestService.clickString;
$scope.clickStringProxy = TestService.clickStringProxy;
}
以上是我尝试创建TestService时失败的尝试。单击stringproxy
accessTestService。单击string
(通过一个基本的“this”)
JsFiddle:
我将如何允许服务中的功能相互访问
我尝试了各种各样的尝试来补救这种情况,但都无济于事。声明服务对象操作它并返回
myApp.factory( "TestService", function() {
var service= {
clickString: "click me"
}
service.clickStringProxy = service.clickString;
return service;
});
感谢您的及时回复!如果您更改
单击字符串
,则单击字符串代理
仍将指向旧的“单击我”
。您可能想做的是使用Object.defineProperty
并使用get/settermethod@g00fy通常不需要更改服务属性。如果你使用的是一项服务,作为国家持有者,那么我建议你使用getter和settersOP。np决定尝试从平板电脑上回答一个问题,这是一个挑战:在Nexus 10上,复制粘贴仍然不是很好@g00fy您有一个很好的观点,我认为这个示例一开始有点做作,只是表明可以通过在返回之前先声明对象来修改对象或访问函数。