2014-10-03 88 views
0

我試圖用Angular打開一個簡單的模態。我希望它從我的導航欄中的「關於」鏈接打開。這裏的HTML: Modal使用AngularJS不打開,得到TypeError:undefined不是函數

  <div ng-controller = "ModalDemoCtrl"> 
      <script type="text/ng-template" id="myModalContent.html"> 
       <div class="modal-header"> 
        <h3 class="modal-title">I am a modal!</h3> 
       </div> 
       <div class="modal-body"> 
        <h1>Welcome to my modal</h1> 
       </div> 
      </script> 
      <ul class="nav navbar-nav"> 
       <li class="active"><a href="#" ng-click="open()">About</a></li> 
      </ul> 

     </div> 

這裏是我的角碼:

var app = angular.module('chucknorris', ['ngRoute', 'ui.bootstrap']); 


app.controller('ModalDemoCtrl', ['$scope', '$modal', function($scope, $modal) { 

    $scope.open = $modal.open({templateUrl:'myModalContent.html'}); 
}]); 

我不想處理或任何數據傳遞到模型中,所以我覺得剛剛開放應該工作。我看着這個問題AngularJS $Modal itself is undefined,但我很確定我正確地包括$模態。我只需要打開一個模式,在bootstrap.js中非常簡單。謝謝你的幫助。

*編輯* 這裏是我得到完整的錯誤消息: 在鏈接(http://youtoocanbechucknorris.com/js/ui-bootstrap.js:8:26380) 在U(http://youtoocanbechucknorris.com/js/angularmin.js:48:226) 在K(http://youtoocanbechucknorris.com/js/angularmin.js:42:309) 在U(http://youtoocanbechucknorris.com/js/angularmin.js:48:167) 在K(http://youtoocanbechucknorris.com/js/angularmin.js:42:309) 在U(http://youtoocanbechucknorris.com/js/angularmin.js:48:167) 在http://youtoocanbechucknorris.com/js/angularmin.js:53:483http://youtoocanbechucknorris.com/js/angularmin.js:64:351 位於y(http://youtoocanbechucknorris.com/js/angularmin.js:89:187) 位於y(http://youtoocanbechucknorris.com/js/angularmin.js:89:187

+1

你能提供一個plnkr或小提琴嗎?檢測問題會更容易。 – denisazevedo 2014-10-03 04:53:39

+0

我剛創建了一個plnker,它在那裏工作。所以我的問題必須在別處。這是plnker:http://plnkr.co/edit/TDsrm90lrshcXCZCkQlR。 +1讓我從腦海中解脫出來。 – Paul 2014-10-03 05:03:20

回答

1

我的問題是,我使用的角度版本。我正在使用6個月前下載的Angular I的副本。當我下載最新版本的一切工作。從文檔angular-ui「需要AngularJS 1.2.x,使用1.2.16測試」。我使用的是1.2版本的早期版本,我猜並沒有涵蓋所有內容。 1.2.26就像一個魅力。保持自己最新會爲我節省半天的工作時間。學過的知識。謝謝你的幫助。

+0

是的,當我嘗試創建一個plnkr時,我發現了這樣的問題:) – denisazevedo 2014-10-03 05:17:16

0

變化$scope.open = $modal.open({templateUrl:'myModalContent.html'});

$scope.open = function() { 
    $modal.open({templateUrl:'myModalContent.html'}) 
}; 
+0

我希望我能接受這個,但我仍然收到相同的錯誤信息。這就像它不知道$ modal是什麼,但我相信ui.bootstrap加載正確。我將編輯我的問題以包含完整的錯誤消息。謝謝。 – Paul 2014-10-03 04:43:36

+0

您是否正在引入angular-ui/bootstrap庫? – DanArl 2014-10-03 04:52:50

+0

我是,這是我的錯誤消息中的第一個鏈接。 – Paul 2014-10-03 05:04:02

相關問題