【问题标题】:UI-Bootstrap samples do not workUI-Bootstrap 示例不起作用
【发布时间】:2014-03-17 14:06:49
【问题描述】:

我们正在尝试使用 UI-Bootstrap http://angular-ui.github.io/bootstrap/

尝试通过示例工作,但似乎没有任何工作。根据文档,我们只需要参考 angular 和 bootstrap css。但是,我们似乎也需要添加对 ui-bootstrap-tpls-0.10.0.js 的引用!?

请有人解释一下为什么下面的代码不起作用,这是他们网站上的直接代码!:-

<!DOCTYPE html>
<html lang="en" ng-app="bootstrapDemoApp" id="top">
<head>

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script>
<script src="script/ui-bootstrap-tpls-0.10.0.js"></script>
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet"/>

</head>
<body ng-app>

<div ng-controller="DatepickerDemoCtrl">


    <h4>Inline</h4>
<div style="display:inline-block; min-height:290px;">
  <div class="well well-sm" ng-model="dt">
      <datepicker min="minDate" show-weeks="showWeeks"></datepicker>
  </div>
</div>
</div>


<script>var DatepickerDemoCtrl = function ($scope) {
$scope.today = function() {
$scope.dt = new Date();
};
$scope.today();

  $scope.showWeeks = true;
  $scope.toggleWeeks = function () {
    $scope.showWeeks = ! $scope.showWeeks;
  };

  $scope.clear = function () {
    $scope.dt = null;
  };

  // Disable weekend selection
  $scope.disabled = function(date, mode) {
    return ( mode === 'day' && ( date.getDay() === 0 || date.getDay() === 6 ) );
  };

  $scope.toggleMin = function() {
    $scope.minDate = ( $scope.minDate ) ? null : new Date();
  };
  $scope.toggleMin();

  $scope.open = function($event) {
    $event.preventDefault();
    $event.stopPropagation();

    $scope.opened = true;
  };

  $scope.dateOptions = {
    'year-format': "'yy'",
    'starting-day': 1
  };

  $scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'shortDate'];
  $scope.format = $scope.formats[0];
};

</script>


</body>
</html>

【问题讨论】:

  • 控制台有错误吗?
  • 嗨,是的,“未捕获的错误:[$injector:modulerr]”
  • 这意味着你的应用缺少依赖模块(bootstrap ui)。请看我的回答。
  • 请注意,在上面的标记中,您定义了两个 ng-apps,一个在 HTML 标签上,另一个在 BODY 标签上。
  • 谢谢。对我来说是个小姐

标签: javascript angularjs twitter-bootstrap angular-ui-bootstrap


【解决方案1】:

UI Bootstrap 是一个单独的 Angular 模块,您必须将其注入到您的模块中:

所以将您的标记更改为:

<body ng-app="YourAppName">

并将其添加到脚本的开头:

angular.module('YourAppName', ['ui.bootstrap']);

您必须将控制器添加到您的应用中:

angular.module('app').controller(DatepickerDemoCtrl);

【讨论】:

  • 你好如何在asp项目中使用angular bootstrap-ui
  • @Lijo 与我在定义模块时的回答中定义的相同。只需确保在 JS 文件之前包含必要的 JS 文件即可。
  • 我已经添加了js,但它仍然显示ng控制器属性无效
  • 请创建一个新问题并提供一个包含您的代码的链接,最好是小提琴或 plnkr
【解决方案2】:

您需要在您的应用中注入“ui.bootstrap”。

这是一个例子。

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

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多