1.引入中文国际化文件angular-locale_zh-cn.js
下载地址(https://github.com/angular/angular.js/tree/master/src/ngLocale), 然后大部分控件就可以显示中文了。
2.有些按钮(today,clear,close)还不能显示中文
比较简易的做法是在datepicker-popup指令定义的地方,增加属性current-text,clear-text,close-text的定义
例如:current-text="今天"
- <div class="col-md-6">
- <p class="input-group">
- <input type="date" class="form-control" current-text="今天" datepicker-popup ng-model="dt" is-open="opened" min-date="minDate" max-date="'2015-06-22'" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" ng-required="true" close-text="Close" />
- <span class="input-group-btn">
- <button type="button" class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
- </span>
- </p>
- </div>
<div class="col-md-6"> <p class="input-group"> <input type="date" class="form-control" current-text="今天" datepicker-popup ng-model="dt" is-open="opened" min-date="minDate" max-date="'2015-06-22'" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" ng-required="true" close-text="Close" /> <span class="input-group-btn"> <button type="button" class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button> </span> </p> </div>
3. 除了上述的做法,也可以自己修改源文件。
有些按钮(today,clear,close)还不能显示中文,以下是我对官方文件的修改。
3.1) 需要修改angular-locale_zh-cn.js ,对DATETIME_FORMATS增加三个中文键值对:
"DATETIME_FORMATS": { "TODAY":"\u4eca\u5929", "CLEAR":"\u6e05\u7a7a", "CLOSE":"\u5173\u95ed",
3.2)还不行,today,clear,close等按钮还不能国际化,还需修改ui-bootstrap-tpls-0.13.0.js
主要修改的ui-bootstrap-tpls-0.13.0.js文件中指令datepickerPopup,具体修改以下部分:
修改 ui-bootstrap-tpls-0.13.0.js的指令datepickerPopup
指令datepickerPopup的定义依赖增加$locale,并新加以下片段
- scope['currentText']=$locale.DATETIME_FORMATS.TODAY||scope['currentText'];
- scope['clearText']=$locale.DATETIME_FORMATS.CLEAR||scope['clearText'];
- scope['closeText']=$locale.DATETIME_FORMATS.CLOSE||scope['closeText'];
scope['currentText']=$locale.DATETIME_FORMATS.TODAY||scope['currentText']; scope['clearText']=$locale.DATETIME_FORMATS.CLEAR||scope['clearText']; scope['closeText']=$locale.DATETIME_FORMATS.CLOSE||scope['closeText'];
指令参照位置:
- .directive('datepickerPopup', ['$locale','$compile', '$parse', '$document', '$position', 'dateFilter', 'dateParser', 'datepickerPopupConfig',
- function ($locale,$compile, $parse, $document, $position, dateFilter, dateParser, datepickerPopupConfig) {
- return {
- restrict: 'EA',
- require: 'ngModel',
- scope: {
- isOpen: '=?',
- currentText: '@',
- clearText: '@',
- closeText: '@',
- dateDisabled: '&',
- customClass: '&'
- },
- link: function(scope, element, attrs, ngModel) {
- var dateFormat,
- closeOnDateSelection = angular.isDefined(attrs.closeOnDateSelection) ? scope.$parent.$eval(attrs.closeOnDateSelection) : datepickerPopupConfig.closeOnDateSelection,
- appendToBody = angular.isDefined(attrs.datepickerAppendToBody) ? scope.$parent.$eval(attrs.datepickerAppendToBody) : datepickerPopupConfig.appendToBody;
- scope.showButtonBar = angular.isDefined(attrs.showButtonBar) ? scope.$parent.$eval(attrs.showButtonBar) : datepickerPopupConfig.showButtonBar;
- scope.getText = function( key ) {
- scope['currentText']=$locale.DATETIME_FORMATS.TODAY||scope['currentText'];
- scope['clearText']=$locale.DATETIME_FORMATS.CLEAR||scope['clearText'];
- scope['closeText']=$locale.DATETIME_FORMATS.CLOSE||scope['closeText'];
- return scope[key + 'Text'] || datepickerPopupConfig[key + 'Text'];
- };
.directive('datepickerPopup', ['$locale','$compile', '$parse', '$document', '$position', 'dateFilter', 'dateParser', 'datepickerPopupConfig', function ($locale,$compile, $parse, $document, $position, dateFilter, dateParser, datepickerPopupConfig) { return { restrict: 'EA', require: 'ngModel', scope: { isOpen: '=?', currentText: '@', clearText: '@', closeText: '@', dateDisabled: '&', customClass: '&' }, link: function(scope, element, attrs, ngModel) { var dateFormat, closeOnDateSelection = angular.isDefined(attrs.closeOnDateSelection) ? scope.$parent.$eval(attrs.closeOnDateSelection) : datepickerPopupConfig.closeOnDateSelection, appendToBody = angular.isDefined(attrs.datepickerAppendToBody) ? scope.$parent.$eval(attrs.datepickerAppendToBody) : datepickerPopupConfig.appendToBody; scope.showButtonBar = angular.isDefined(attrs.showButtonBar) ? scope.$parent.$eval(attrs.showButtonBar) : datepickerPopupConfig.showButtonBar; scope.getText = function( key ) { scope['currentText']=$locale.DATETIME_FORMATS.TODAY||scope['currentText']; scope['clearText']=$locale.DATETIME_FORMATS.CLEAR||scope['clearText']; scope['closeText']=$locale.DATETIME_FORMATS.CLOSE||scope['closeText']; return scope[key + 'Text'] || datepickerPopupConfig[key + 'Text']; };
你可以参照我的github fork的分支作的修改,直接拷贝对应指令:
https://github.com/napoleonjk/bootstrap/blob/master/src/datepicker/datepicker.js
相关推荐
8. **依赖注入**: 使用UI-Grid的DatePicker功能,可能需要引入其他AngularJS模块,如`ngDatepicker`或`ui.bootstrap.datepicker`。确保正确地在应用中注入这些依赖,以避免运行时错误。 9. **响应式设计**: 如果你...
6. **Bootstrap组件**:熟悉Bootstrap提供的各种UI组件,如导航条、下拉菜单、模态框、表单控件等,并学会在Angular4中使用它们。 7. **Angular4 CLI**:学习如何使用命令行工具创建项目、生成组件和服务,以及进行...
例如,可以使用 Angular 的 ngIf 和 ngFor 指令控制 Bootstrap 组件的显示和重复,或者使用 Angular Forms 配合 Bootstrap 的表单控件实现动态验证。 4. **Angle 项目**:虽然 Angle 不是官方的 Angular 组件库,但...
现在回到Angular-ui-BootStrap组件,这个库包含了多种Bootstrap组件的Angular实现,例如模态框、下拉菜单、按钮组、警告、表单控件等。下面我们将详细讨论其中的`uib-tooltip`组件。 `uib-tooltip`是Angular-ui-...
标题提到的"angularjs和bootstrap开发的web控件的集合"很可能是一个包含多种AngularJS插件的资源包,旨在帮助开发者更容易地集成Bootstrap的UI元素到AngularJS项目中。 **ng-control-master简介** "ng-control-...
在ng-bootstrap中,你可以找到诸如模态框、下拉菜单、导航条、按钮、表单控件、警告提示等Bootstrap经典组件的Angular实现。它们都遵循Angular的模块化设计,可以轻松地被导入到你的Angular应用中。例如,要添加一个...
“ui-datetimepicker”指令是Angular UI Bootstrap的一部分,它扩展了AngularJS的表单控件,添加了一个交互式的日期时间选择器。这个选择器提供了日历和时钟视图,用户可以通过这些视图轻松选择日期和时间。它支持...
- angular-ui-tab-scroll:一个可滚动的标签插件,与angular-ui-bootstrap的标签兼容。 - ui-router-tabs:一个支持路由的AngularJS标签面板库。 - Tabslet:虽然这不是一个Angular插件,但可以通过封装来使用,...
在Web开发中,下拉树是一种UI控件,它将传统的下拉列表与树状结构相结合。用户可以展开和折叠节点,就像在普通的树视图中那样,同时也可以通过下拉方式选择一个节点。这种控件常用于展示层级关系的数据,如目录结构...
在本文中,我们将深入探讨Angular框架中的ui.bootstrap.pagination模块,这是一个用于实现分页功能的库,它是Angular UI Bootstrap的一部分。Angular UI Bootstrap是一个基于Bootstrap样式和组件的AngularJS库,它为...
在IT行业中,日期控件是用户界面(UI)设计中不可或缺的一部分,特别是在处理与时间相关的数据和业务逻辑时。这个“商业编程-源码-日期控件演示及源码.zip”压缩包很可能是包含了用于创建和展示日期选择功能的源代码...
为了按日期范围过滤,您将使用一个包含 2 个来自 Bootstrap-ui 的日期选择器小部件的模式窗口。 排序(按 1 列)。 单击标题标题会触发排序(升序/降序)。 表格条目最初按日期降序排序。 分页(使用 Bootstrap-...
【描述】"Material Dashboard Angular是免费的Material Bootstrap Admin模板,带有新鲜"指出这个项目结合了Material Design和Bootstrap框架,为开发后台管理界面提供了直观和美观的解决方案。"新鲜"可能意味着它采用...
Angular是一个强大的前端开发框架,而ng-bootstrap则是Angular生态中专为Bootstrap设计的UI组件库,它提供了许多易于使用的Bootstrap组件,使我们能够在Angular应用中轻松实现响应式设计。 首先,我们需要确保已经...
Syncfusion Angular UI组件库(Essential JS 2) Syncfusion Angular UI组件库是从头开始构建的,它轻巧,响应Swift,模块化且易于触摸。 它提供了每个应用程序都将需要的50多个UI组件。 这是一种商业产品,需要付费...
Angular Bootstrap 模块(通常称为 ng-bootstrap 或 @ng-bootstrap/ng-bootstrap)将 Bootstrap 的组件转换为 Angular 的指令和服务,使它们能够无缝地工作在 Angular 应用中。 ### 安装 Angular Bootstrap 要在 ...
在Angular Bootstrap UI中有一个类似的控件TimePicker,但是它并没有深入到分钟和秒的精度。 因此,决定参考它的源码然后自己进行实现。 最终的效果如下: 首先是该directive的定义: app.directive('...
Bootstrap则是一个流行的前端UI工具包,提供了一系列预设的CSS样式、JavaScript组件和字体图标,旨在简化网页设计和布局。 【描述详解】 “基于 Angular 和 Bootstrap 的 Norch 可插拔前端”表明norch-bootstrap...
具体到“最好的日期控件”,虽然没有绝对的标准,但有一些知名库和框架如jQuery UI的Datepicker、Bootstrap的Datetimepicker、Angular的AngularJS Datepicker、React的Material-UI Datepicker以及原生JavaScript的...