Angular JS 控制器作用域和私有函数和变量



我遇到了一个问题,几个月前我在angular中做了一个小应用程序,但是为了扩展我对angular的了解,我决定在我的代码中添加功能和复杂性。 所以不,我注入模块和控制器,我使用应用程序配置和 ng-route。 现在我有这样的东西:

var app = angular.module('myApp',['ngRoute']);
app.config(appConfig);
app.controller('TestController', ['$http', TestController])
function appConfig($routeProvider){
$routeProvider.when('/', {     
templateUrl: './test.html',
controller: 'TestController',
controllerAs:  'my'
});
} 
function TestController($http ) {
this.statusForm = 'Incompleto';
a();
}
function a(){
statusForm='Finalizado';
¿HOW DO I ACCES STATUSFORM TO CHANGE ITS VALUE IN TestController?
}

所以这就是我的问题,如何在没有$scope的情况下从婴儿车内部调用的私有函数进行更改。 有没有办法引用测试控制器函数的范围?

终于,我找到了问题的答案。我感到有点羞耻,因为答案有点简单。我应该比我更早、更容易地弄清楚。 好的,我正在解释它,最初我有这个:

function TestController($http ) {
this.statusForm = 'Incompleto';
a();
}
function a(){
statusForm='Finalizado';
¿HOW DO I ACCES STATUSFORM TO CHANGE ITS VALUE IN TestController?
}

问题是状态形式在函数 a 上不是 accesiblo,以前当它使用 $scope 它是可访问的。

function TestController($http ) {
this.statusForm = 'Incompleto';
a(**this**);
}
function a(**padre**){
**padre**.statusForm='Finalizado';
}

所以我以这种方式更改了它(请参阅**之间的更改(,现在它可以工作了。我以为我会有一些角度方法来不将参数发送到函数"a",但我没有找到任何参数。 任何方式这种方式都有效。 如果有人有同样的疑问,我希望这有所帮助。问候。

最新更新