我试图使用Angular打开一个简单的模态。我希望它从"关于"链接在我的导航栏中。这是html:
<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,但我很确定我正确地包含了$ modal。我只需要一个模态打开,在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:483 在http://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)
答案 0 :(得分:1)
我的问题是我正在使用的Angular版本。我在6个月前使用的是Angular I的副本。当我下载最新版本时,一切正常。从文档angular-ui&#34;需要AngularJS 1.2.x,使用1.2.16&#34;进行测试。我使用的是1.2的早期版本,我认为它并不涵盖所有内容。 1.2.26的作品就像一个魅力。让自己保持最新状态可以节省我半天的工作时间。学过的知识。谢谢你的帮助。
答案 1 :(得分:0)
将$scope.open = $modal.open({templateUrl:'myModalContent.html'});
更改为
$scope.open = function() {
$modal.open({templateUrl:'myModalContent.html'})
};