在ControllerAs AngularJS中调用子函数

在ControllerAs AngularJS中调用子函数,angularjs,angularjs-scope,angularjs-controlleras,Angularjs,Angularjs Scope,Angularjs Controlleras,嘿,我是angularjs的新手,我在angularjs中使用controlleras样式,因为代码是可呈现的和网络的。我的问题是调用控制器代码中的子函数,如下所示 //AngularJS CODE (function(){ 'use strict'; angular.module('mAPP', ['ngMaterial']); function helpM(){ var vm = this;

嘿,我是angularjs的新手,我在angularjs中使用controlleras样式,因为代码是可呈现的和网络的。我的问题是调用控制器代码中的子函数,如下所示

 //AngularJS CODE
      (function(){
         'use strict';

         angular.module('mAPP', ['ngMaterial']);

         function helpM(){
            var vm = this; 
            vm.SaveM = function(){
                alert('Save Me Now');
            }
         }

        function SaveCTRL(){
          var vm = this; 

          vm.nineOne = helpM.SaveM;
        }

        angular.module('mAPP')
                .controller('SaveCTRL', [SaveCTRL]); 

      })(); 
//HTML代码

     <div ng-controller="SaveCTRL as main" layout="column" ng-cloak="" class="md-inline-form" ng-app="mAPP">


     <md-button class="md-raised md-primary" ng-click="main.nineOne()">Submit</md-button>

     </div>

提交

但是警报不会执行,非常感谢您提前执行:(

您需要实例化helpM类:

替换:

vm.nineOne = helpM.SaveM
致:


您必须创建一个
helpM
的实例,否则
将是
未定义的

(函数(){
"严格使用",;
角度模块('myApp',[]);
函数helpM(){
var vm=这个;
vm.savm=函数(){
警惕(“立即救我”);
}
返回虚拟机;
}
函数SaveCTRL(){
var vm=这个;
vm.nineOne=newhelpm().SaveM;
返回虚拟机;
}
angular.module('myApp')
.controller('SaveCTRL',SaveCTRL);
})();

提交

谢谢,但我遇到了一个错误,它说无法读取Undefineds的属性“bind”,所以将函数视为需要作为实例才能获取其值的类?谢谢,它可以工作
var helpObj = new helpM();
vm.nineOne = helpObj.SaveM.bind(helpObj);