Javascript AngularJs—服务中的函数如何相互访问?

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

我有以下javascript:

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
access
TestService。单击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您有一个很好的观点,我认为这个示例一开始有点做作,只是表明可以通过在返回之前先声明对象来修改对象或访问函数。