首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngDialog中的UI引导数据报警器没有

ngDialog中的UI引导数据报警器没有
EN

Stack Overflow用户
提问于 2015-11-09 15:41:50
回答 1查看 505关注 0票数 3

我试图在ngDialog中使用ui引导日期选择器,但我只能打开它一次。当我选择日期时,选择器已经关闭,我不能再打开它了。见柱塞:http://plnkr.co/edit/obmNAWXAnCtNqa2YmioF

index.html:

代码语言:javascript
复制
<!DOCTYPE html>
<html ng-app="plunker">

<head>
  <meta charset="utf-8" />
  <title>AngularJS Plunker</title>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.4.0/js/ngDialog.min.js"></script>
  <script src="ui-bootstrap-tpls-0.14.3.min.js" type="text/javascript"></script>
  <script src="app.js"></script>

  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.4.0/css/ngDialog.min.css" />
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ng-dialog/0.4.0/css/ngDialog-theme-default.min.css" />
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" />
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css" />
</head>

<body ng-controller="MainCtrl">
  <button ng-click="showCreateOrderPopup()">Create order</button>
</body>

</html>

app.js:

代码语言:javascript
复制
var app = angular.module('plunker', ["ngDialog", "ui.bootstrap"]);

app.controller('MainCtrl', ['$scope', 'ngDialog', function($scope, ngDialog) {
  $scope.dateOptions = {
    formatYear: "yy",
    startingDay: 1,
    format: "shortDate"
  }

  $scope.createOrder = "";    
  $scope.showCreateOrderPopup = function() {
    ngDialog.openConfirm({
      template: "createOrderPopup.html",
      showClose: true,
      scope: $scope
    });
  }

  $scope.openedCreate = false;
  $scope.openDatePickerCreate = function($event) {
    $event.preventDefault();
    $event.stopPropagation();

    $scope.openedCreate = true;
  };
}]);

弹出:

代码语言:javascript
复制
<form name="createOrderForm">
  <div class="row">
    <div class="form-group">
      <label for="createOrderStart">Start Time</label>
      <div>
        <div ng-class="{'has-error' : createOrderForm.createOrderStart.$error.required}">
          <div class="input-group">
            <input ng-model="createOrder.startTime" type="text" class="form-control" id="createOrderStart" name="createOrderStart" uib-datepicker-popup="shortDate" is-open="openedCreate" datepicker-options="dateOptions" current-text="Today" required clear-text="Clear"
            close-text="Close" ng-readonly="false" />
            <span class="input-group-btn">
            <button type="button" class="btn btn-primary" ng-click="openDatePickerCreate($event)">Cal</button>
            </span>
          </div>
        </div>
      </div>
    </div>
  </div>
</form>

奇怪的是,当我动态添加数据报警器(使用ngRepeat)时,所有操作都很好。

有什么办法让这件事成功吗?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-09 15:46:13

抱歉,我刚意识到你在说什么。

将代码更改为:

代码语言:javascript
复制
$scope.status= {opened: false}
$scope.openDatePickerCreate = function ($event) {
    $scope.status.opened = true;
};

另外,将html更改为:

代码语言:javascript
复制
is-open="status.opened"

所有这些都是由于原型继承而发生的。你也许想研究一下。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33612755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档