2014-10-03 84 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

相关问题