我正在尝试将ngbBootstrap日期选择器配置为使用星期日作为一周的第一天。根据{{3}},似乎这样应该非常简单。我正在使用NgbBootstrap v1.1.2,但是代码中的文档与当前文档相同:
NgbDatepicker组件的配置服务。您可以通常在根组件中注入此服务,并自定义其属性的值,以便为应用程序中使用的所有日期选择器提供默认值。
import { NgbDatepickerConfig } from '@ng-bootstrap/ng-bootstrap';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
//...
constructor(
private ngbDatepickerConfig: NgbDatepickerConfig
) {
ngbDatepickerConfig.firstDayOfWeek = 7;
}
//...
}
有什么想法为什么仍将其设置为星期一?
更新
如果我覆盖服务默认值,似乎可以正常工作:
{
provide: NgbDatepickerConfig,
useClass: class Test {
dayTemplate: TemplateRef<DayTemplateContext>;
dayTemplateData: (date: NgbDateStruct, current: { year: number, month: number }) => any;
footerTemplate: TemplateRef<any>;
displayMonths = 1;
firstDayOfWeek = 7;
markDisabled: (date: NgbDateStruct, current: { year: number, month: number }) => boolean;
minDate: NgbDateStruct;
maxDate: NgbDateStruct;
navigation: 'select' | 'arrows' | 'none' = 'select';
outsideDays: 'visible' | 'collapsed' | 'hidden' = 'visible';
showWeekdays = true;
showWeekNumbers = false;
startDate: { year: number, month: number };
}
}
答案 0 :(得分:0)
不知道为什么,但是当所有子组件都被延迟加载时,它不适用于根组件。我将其应用于作为所有功能模块路由子代的父代的通用组件,并且按预期可在整个应用程序中使用。
答案 1 :(得分:0)
我的方法是
1.-创建一个类datePicker-config(这是TypeScript的简单类)
@NgModule({
imports: [...],
declarations: [...],
providers:[{provide: NgbDatepickerConfig,useClass: CustomDatePickerConfig}]
...
})
2 .--在模块的NgbDatepickerConfig提供程序中使用此类
def group(string):
digits = []
non_digits = []
for c in string:
if c.isdigit():
digits.append(c)
else:
non_digits.append(c)
return ''.join(non_digits) + ''.join(digits)
result = group('y0b3')
print(result)