2016-12-07 11 views
2

John Papa 각도 스타일 가이드와 일치하도록 코드를 정리하려고했지만 프로세스가 무언가 잘못되어 컨트롤러가 ng-inspector에 더 이상 나타나지 않습니다. 내가 얻을 수있는 경우 vm.message는 (모든 일반적인 의견이 :) 감사하지만) 나는각도 조절기 범위/변수가 나타나지 않습니다.

(function() { 
 
    "use strict"; 
 

 
    angular 
 
    .module('roomchoice.manager-dashboard.alerts', [ 
 
     'ui.router' 
 
    ]) 
 

 
    .config(function config($stateProvider) { 
 
     $stateProvider.state('manager.alerts', { 
 
     url: '/alerts', 
 
     views: { 
 
      "main": { 
 
      controller: 'AlertsController', 
 
      templateUrl: 'manager-dashboard/alerts/alerts.tpl.html' 
 
      } 
 
     }, 
 
     data: { 
 
      pageTitle: 'Alerts' 
 
     } 
 
     }); 
 
    }) 
 

 
    .controller('AlertsController', AlertsController); 
 

 
    function AlertsController($scope, Restangular) { 
 
     var vm = this; 
 

 
     vm.message = "Hello"; 
 
     vm.settlements = []; 
 
     vm.undepositedPayments = []; 
 
     vm.unapprovedFunnels = []; 
 
     vm.getSettlements = getSettlements; 
 
     vm.getUndepositedPayments = get_UndepositedPayments; 
 
     vm.getUnapprovedFunnels = get_unapprovedFunnels; 
 

 
     function getSettlements() { 
 
     Restangular.all('alerts/get_settlements').getList().then(function(settlements){ 
 
      vm.settlements = settlements; 
 
      return vm.settlements; 
 
     }); 
 
     }//End of getSettlements 
 

 
     function getUndepositedPayments() { 
 
     Restangular.all('alerts/get_undepositedpayments').getList().then(function(undepositedpayments){ 
 
      vm.undepositedPayments = undepositedpayments; 
 
      return vm.undepositedPayments; 
 
     }); 
 
     }//End of getUndepositedPayments 
 

 
     function getUnapprovedFunnels() { 
 
     Restangular.all('alerts/get_unapprovedfunnels').getList().then(function(unapprovedfunnels){ 
 
      vm.unapprovedFunnels = unapprovedfunnels; 
 
      return vm.unapprovedFunnels; 
 
     }); 
 
     }//End of getUnapprovedFunnels 
 
    }//End of Controller 
 
})();//End of Module
<div id="main" ng-controller="AlertsController as alerts"> 
 
\t <div> 
 
\t \t <h1>Alerts (Under Construction) </h1> 
 
\t \t <h2>{{alerts.message}}</h2> 
 
\t </div> 
 
</div>

+0

콘솔의 모든 오류? 여기에있는 각도는 정의되어 있지 않지만, 당연히 받아들이는 것은 작업 복사본에 있습니다. – Nobita

+0

오류가 있습니까? '경고 (Under Construction)'텍스트가 표시됩니까? –

+0

상태에서'controller'를 쓰지 말고 템플릿에서'ng-controller'를 동시에 사용하지 마십시오. 템플릿의'ng-controller'를 제거하고, 상태 정의에'controllerAs : alerts'를 추가하십시오. – Claies

답변

3

당신은에 한 번 이상 컨트롤러를 인스턴스화하려고 나머지를 알아낼 수 표시하는 방법 코드를 사용하면 예상대로 작동하지 않습니다.

상태의 일부인 템플릿에 ng-controller을 사용하면 안됩니다. 컨트롤러는 상태 공급자에 의해 정의되며 템플릿 내부에서 인스턴스화되지 않습니다. 당신의 상태로

템플릿에서

제거 ng-controller 및 추가 controllerAs :

$stateProvider.state('manager.alerts', { 
    url: '/alerts', 
    views: { 
     "main": { 
     controller: 'AlertsController', 
     controllerAs: 'alerts', 
     templateUrl: 'manager-dashboard/alerts/alerts.tpl.html' 
     } 
    }, 
    data: { 
     pageTitle: 'Alerts' 
    } 
    }); 
+0

그렇게 해 줘서 고마워요! –