2017-01-07 9 views
0

私は公式ガイドhereに従っていますが、まだエラーが発生しています。 GitHubのユーザーが同じ問題を経験しましたが、解決方法については言及していませんでしたが、彼のコードを呼び出すコードにエラーがあり、彼のplnkrから何も把握できませんでした。

コントローラー:

function ActivitiesController($scope, $state, $window, Authentication, activity, $uibModal, $uibModalInstance) { 
    var vm = this; 

    vm.authentication = Authentication; 
    vm.activity = activity; 
    vm.openModal = openModal; 
    vm.okOnModal = okOnModal; 
    vm.cancelOnModal = cancelOnModal; 

    function openModal() { 
     $uibModal.open({ 
      template: "<div class='modal-header'>" 
         + "<h3 class='modal-title' id='modal-title'>Friends</h3>" 
        + "</div>" 
        + "<div class='modal-body list-group' id='modal-body'>" 
         + "<a ng-repeat='friend in vm.friends' class='list-group-item'>" 
          + "<img class='friend-user-profile-picture' ng-src='{{ friend.friend.profileImageURL }}' alt='{{ friend.friend.displayName }}'>" 
          + "<h4 class='list-group-item-heading' ng-bind='friend.friend.displayName'></h4>" 
          + "<small class='list-group-item-text' ng-bind='friend.friend.username'></small>" 
          + "<p class='list-group-item-text' ng-bind='friend.friend.email'></p>" 
          + "<input type='checkbox'>" 
         + "</a>" 
        + "</div>" 
        + "<div class='modal-footer'>" 
         + "<button class='btn btn-primary' type='button' ng-click='vm.okOnModal()'>OK</button>" 
         + "<button class='btn btn-warning' type='button' ng-click='vm.cancelOnModal()'>Cancel</button>" 
        + "</div>", 
      size: 'lg', 
      scope: vm 
     }); 
    } 

    function okOnModal() { 
     $uibModalInstance.close(); 
    } 

    function cancelOnModal() { 
     $uibModalInstance.dismiss('cancel'); 
    } 
} 

ビュー:

<button class="btn btn-primary btn-lg" ng-click="vm.openModal()">Share with...</button> 

エラーがここにui.bootstrap-tplsである:

var modalScope = providedScope.$new(); 

依存性:

  • 角度:1.4.80.3からアップグレード)
  • 角度ブートストラップ:2.4.00.13.4からアップグレード)
  • ブートストラップ:3.3.7
  • MEAN.JS:0.4.2

MEAN.JSドキュメントを読むと、0.4.2はをサポートしていないangular-ui 0.13.4を使用します。サポートしていないため、私は2.4.0にアップグレードしました。 MEAN.JS 0.4.2は角度-ui 2.4.0をサポートしていませんが、それは潜在的な理由かもしれませんか?


EDIT:

私はMEAN.JSスタックの「0.4.2」に付属しているデフォルトのものに戻って変更されているとして、それが依存関係のバージョンにダウンだということを除外しました(SO $modal代わりに$uibModalを使用)、Iは、同様のエラーを取得:

TypeError: (modalOptions.scope || $rootScope).$new is not a function

答えて

6

vmがモーダルの親スコープとして提供されます。 vmはスコープではないため、これが問題です。これはコントローラインスタンスであり、現在のスコープのオブジェクトです(controllerAs構文が使用されている場合)。

vm$scopeと交換できません。それは次のようになります:

scope: $scope 
+0

はい、私はあなたが投稿する前にこれを考え出しましたが、正解であるので受け入れます。ありがとうございました! – wmash

関連する問題