2016-10-07 1 views
1

愚かな質問かもしれないが、ベストプラクティスを作りたい。 ..だから、私は私のコントローラを持っている:

(function() { 
'use strict'; 

angular 
    .module('example.cancha') 
    .controller('CanchaController', CanchaController); 

CanchaController.$inject = ['$state', 'canchaService']; 

function CanchaController($state, canchaService) { 
    var vm = angular.extend(this, { 
     canchasComplejo: [] 
     }); 



    (function activate() { 
     cargarCanchasComplejo(); 
    })(); 

    //funcion que llama al servicio para obtener las canchas del complejo 
    function cargarCanchasComplejo() { 
     canchaService.obtenerCanchasComplejo() 
      .then(function(canchasComplejo) { 
       vm.canchasComplejo = canchasComplejo; 
     }); 
    } 
} 
})(); 

は今、私は関数を呼び出して変更を加える必要があり、私は$スコープを使用する必要がある。このため

ng-click="toggleGroup(group)" 

    ng-class="{active: isGroupShown(group)}". 

と(崩壊リストがある) コントローラに$ scopeをどのように統合できますか?ので、私はほとんどのコントローラのようなある:助けるため

.controller('MyCtrl', function($scope) { 
    ... 
}); 

ありがとう!

+1

* "angular controllerAs" *の記事を読んでください。あなたは '$ scope vs controllerAs'の方法論を混ぜ合わせています – charlietfl

答えて

3

あなたがそう$状態を注入しているのと同じ方法で$スコープを挿入することができます

CanchaController.$inject = ['$state', '$scope', 'canchaService']; 

function CanchaController($state, $scope, canchaService) { ... 
+0

私の質問に答えてみてください(この投稿と関連しています):http://stackoverflow.com/questions/39886765/expandable-list-in-ionic –

-1
.controller('CanchaController',function($scope,$state, canchaService) { 
    var vm = angular.extend(this, { 
     canchasComplejo: [] 
     }); 

CanchaController.$inject = ['$scope','$state', 'canchaService']; 

を、あなたは$の注入で$スコープを挿入する必要があり、この

0

を試すことができます

例:

(function() { 

    angular 
     .module('example.cancha') 
     .controller('CanchaController', CanchaController); 

    CanchaController.$inject = ['$state', 'canchaService','$scope']; 
    function CanchaController($state,canchaService,$scope) { 
// you can call function here with $scope enter code here 
     $scope.xyz = function(){ 

     } 
    } 
})(); 
関連する問題