0

这是我的第一个 Angular js 网站,所以请原谅我的无知。

我在ui.boostrap我的页面上添加了一个弹出式日期选择器,它运行良好,但似乎 dateDisabled 方法永远不会被击中。

我的标记如下所示:

<input id="inputWeekEnding"
       type="text"
       class="form-control"
       uib-datepicker-popup="mediumDate"
       ng-model="vm.weekEnding"
       is-open="vm.weekEndingOpen.opened"
       ng-required="true"
       close-text="Close"
       date-options="vm.dateOptions"
       ng-change="vm.weekEndingChanged()"/>

和我的控制器:

vm.dateOptions = {
        dateDisabled: function (data) {
            var date = data.date,
                mode = data.mode;
            return (mode === 'day' && (date.getDay() !== 0));
        }
    };

我什至尝试硬编码返回 true,但仍然没有禁用日期。我已经在各种不同的 plunker 上看到了这项工作,所以我知道它有效。如前所述,我的dateDisabled功能永远不会受到打击。我假设它没关系,因为压延机的其他方法被击中,例如vm.weekEndingOpen.openedand vm.weekEndingChanged()

我想知道我是否忘记添加脚本文件。我的脚本如下所示:

    <!-- Library Scripts -->
    <script src="scripts/angular.js"></script>
    <script src="Scripts/angular-resource.js"></script>
    <script src="Scripts/angular-ui-router.js"></script>
    <script src="Scripts/angular-animate.js"></script>
    <script src="Scripts/jquery-1.9.1.min.js"></script>
    <script src="Scripts/bootstrap.min.js"></script>
    <script src="Scripts/angular-ui/ui-bootstrap-tpls.min.js"></script>

当我问一个日期选择器的问题时,我注意到其他人的日期选择器看起来更好一些,比如日历有更多的阴影,也许是我正在使用的版本。我一周中的日子也没有显示,它们在那里但它们没有显示,因为我有白色背景并且文本是白色的。

我的库版本如下:

<package id="Angular.UI.Bootstrap" version="1.3.3" targetFramework="net452" />
  <package id="AngularJS.Animate" version="1.5.5" targetFramework="net452" />
  <package id="AngularJS.Core" version="1.5.5" targetFramework="net452" />
  <package id="AngularJS.Resource" version="1.5.5" targetFramework="net452" />
  <package id="bootstrap" version="3.3.6" targetFramework="net452" />
  <package id="jQuery" version="1.9.1" targetFramework="net452" />

不确定这是否相关,但我正在寻找图标失败: - http://localhost/TimeSheet.WebSite/fonts/glyphicons-halflings-regular.woff2 - http://localhost/TimeSheet.WebSite/fonts/ glyphicons-halflings-regular.woff

任何帮助将非常感激。

4

1 回答 1

2

datepicker 没有 disabled 属性。您应该使用日期选择器选项:

<input datepicker-options="dateOptions" ... >   

 $scope.dateOptions = {
        dateDisabled: function (data) {
          var date = data.date,
          mode = data.mode;
          return mode === 'day' && (date.getDay() === 0 || date.getDay() === 6);
        }
 };

阅读文档:https ://angular-ui.github.io/bootstrap/#/datepickerPopup

于 2016-06-07T07:15:26.683 回答