2016-04-13 16 views
3

Hey Ben angularjs için yeni Ben kod prezentable ve net olarak angularjs içinde controlleras stili kullanarak Im. Benim sorun benim kod olarak izleyin kontrolörde subfunction çağırıyorControllerAs alt işlevinin çağrılması AngularJS

//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 KOD

 <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> 

Ama uyarı doesnt Sen örneğini gerek önceden :(

cevap

0

Eğer helpM bir örneğini yapmak zorunda aksi thisundefined

(function() { 
 
    'use strict'; 
 

 
    angular.module('myApp', []); 
 

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

 

 
    function SaveCTRL() { 
 
    var vm = this; 
 

 
    vm.nineOne = new helpM().SaveM; 
 

 
    return vm; 
 
    } 
 

 
    angular.module('myApp') 
 
    .controller('SaveCTRL', SaveCTRL); 
 

 
})();
<body ng-app="myApp"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
    <div ng-controller="SaveCTRL as main" layout="column" ng-cloak="" class="md-inline-form"> 
 

 

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

 
    </div> 
 
</body>

+0

öyleyse, bunun değerini almak için örnek olması gereken bir sınıf gibi bir işlevi ele almalı mıyım? teşekkürler –

0

yılında Çok teşekkürler yürütmek helpm Sınıf:

değiştirin:

vm.nineOne = helpM.SaveM 

için:

var helpObj = new helpM(); 
vm.nineOne = helpObj.SaveM.bind(helpObj); 
+0

sayesinde olacaktır ama özelliği okunamıyor diyor hatayla karşılaşıyorum 'bağlama 'undefined –