3

私は、mattlewis92 によるブートストラップ カレンダーを使用する小さな角度プロジェクトに取り組んでおり、コントローラーに問題があり続けています。

ここに私の.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';
});

同じページに同じカレンダーの 2 つのバージョンが必要なため、2 つのコントローラーを使用できるようにしたいと考えています。1 つは日表示、もう 1 つは月表示です。

だから私はこれを私の.htmlファイルに持っています

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

そして、これは私の div の1つです:

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

しかし、「引数 'cal574' は関数ではありません。未定義です」というメッセージが引き続き表示されます。この件に関してすでに行われた投稿を調べましたが、役立つものは何も見つかりませんでした。

他に何か必要な場合は教えてください。

ちなみに、Angular 1.5.5を使用しています。

編集: jsfiddle を作成しましたが、依存関係が欠落していても、コードをよく見ると役立つかもしれませんhttps://jsfiddle.net/zzddpk4v/#&togetherjs=s8M8Vir3rc

ダブル編集:まだ解決策を探しています。私はcloud9に取り組んでいるので、コード全体がほとんど機能していることを確認し、直接編集しようとする場合は、ここで確認できますhttps://ide.c9.io /millenium/back574upsidenav-cloned

4

3 に答える 3

1

関連するすべての .js ファイルを project/html に含めましたか。

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

.js ファイルを含めるのを忘れたときに同じエラーが発生しました。

于 2016-06-03T09:07:07.610 に答える
0

この行を変更しようとしています:

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

に:

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

次に、コントローラーの最後に対応する余分な ] を追加します。

于 2016-06-03T11:17:46.613 に答える
0

コントローラーを関数でラップする必要があります。

(function() {
    'use strict';
    // your controller code here
})();
于 2016-06-03T08:48:00.637 に答える