2016-06-03 7 views
3

저는 작은 각도의 프로젝트에서 작업하고 있습니다.이 프로젝트에서는 mattlewis92로 부트 스트랩 캘린더를 사용하고 컨트롤러에 문제가 계속 발생합니다. 여기AngularJS ng-controller undefined

내의 .js는 파일입니다

'use strict'; 

var app = angular.module('Calendrier574', ['ngMaterial', 'ngRoute', 'mwl.calendar', 'ui.bootstrap', 'ngTouch', 'ngAnimate']); 

app.controller("cal574", function(moment, alert, $timeout, $log) { 
var vm = this; 

vm.events = []; 
vm.calendarView = 'day'; 
vm.viewDate = moment().startOf('month').toDate(); 

vm.isCellOpen = true; 

vm.toggle = function($event, field, event) { 
    $event.preventDefault(); 
    $event.stopPropagation(); 
    event[field] = !event[field]; 
}; 

}); 
app.config(function(calendarConfig) { 
    calendarConfig.dateFormatter = 'moment'; 
}); 

내가, 같은 페이지에 하나의 하루보기를 보여주는를 같은 일정의 두 가지 버전을하고자하기 때문에, 두 개의 컨트롤러를 사용할 수 있도록하려면 다른 월보기.

그래서 내 사업부 중 하나에 내 .html 파일

<html lang="fr" ng-app="Calendrier574"> 

그리고 이것은이 있습니다

<md-content id="content" ng-controller="cal574 as vm" layout-padding flex> 

그러나 나는 "인수 'cal574'을 받고 계속 기능하지 않습니다, 정의되지 않았습니다. " 나는 주제에 대해 이미 다룬 글을 읽었지만 도움이되는 자료는 찾을 수 없었다.

다른 것이 필요한 경우 알려주십시오.

나는 각도 1.5.5를 사용하고 있습니다.

편집 : 코드에서 더 나은 모습을 가지고는 어떤 도움이 될 수없는 종속 관계가있는 경우에도 있도록하는 jsfiddle을 만들어 https://jsfiddle.net/zzddpk4v/#&togetherjs=s8M8Vir3rc

DOUBLE 편집 : 아직도 해결책을 찾고, 내가 일하고 있어요 cloud9 사람이 거의 작업 전체 코드를 보면, 직접 편집을 시도하고자하는 경우, 그래서 여기 당신은 함수에서 컨트롤러를 포장 할 필요가 https://ide.c9.io/millenium/back574upsidenav-cloned

+0

번호가없는 컨트롤러 이름을 사용하려고 했습니까? 앵귤러는 영어 이외의 특수 문자를 좋아하지 않습니다. 어쩌면 숫자와 동일 할 수도 있습니다. –

+0

jsfiddle을 만들 수 있습니까? – Sparw

+0

@StianStandahl 번호없이 이름의 이름을 바꿨습니다. 이제 모듈을로드하는 중 오류가 발생했다는 또 다른 오류가 나타납니다. – CamilleSNCF

답변

0

그것을 확인 갈 수

(function() { 
    'use strict'; 
    // your controller code here 
})(); 
+0

컨트롤러의 내용이 이미 함수 안에 있습니다. –

+0

나는 그것이 당신이해야 할 일이라고 생각하지 않습니다. 좋은 습관입니다. –

+0

당신이 나에게 말한 것을 덧붙이려고했지만 결과에 변화가 없음을 보았습니다. – CamilleSNCF

1

프로젝트/html에 관련된 모든 .js 파일을 포함 시켰습니까?

<script src="../path to controller/controller.js"></script> 

.js 파일을 포함하는 것을 잊었을 때 같은 오류가 발생했습니다.

+0

나는 angular.js를 가지고있다. – CamilleSNCF

0

노력이 라인 변경 :

app.controller("cal574", function(moment, alert, $timeout, $log) { 

행 :

app.controller("cal574", ['moment', 'alert', '$timeout', '$log', function(moment, alert, $timeout, $log) { 

그 다음 컨트롤러의 단부]에 대응하는 별도의 추가.

+0

답변 해 주셔서 감사합니다. 말씀 드린대로 시도했지만 여전히 같은 오류가 있습니다. – CamilleSNCF