我在angular2 https://github.com/kekeh/mydatepicker中使用组件mydatepicker。
为此设置全局选项的最佳做法是什么?
例如,如果您总是想要选项dateFormat ='dd / mm / yyyy',我可以使用此选项创建自己的组件,然后使用<my-component>
而不是<my-datepicker>
将DatePicker放入我的模板中。
但我确信这是一个非常糟糕的方法。
一般情况下,当myDatePickerOptions设置为'myview.ts'时,我应该在'myview.html'模板中插入该组件。 但我想编辑my-date-picker的所有实例的全局选项,并保留编辑各个实例的选项的机会。
答案 0 :(得分:2)
有两种方法可以处理您的方案。
1)如果您不想更改配置的值。
在这种情况下,您必须定义一个通用配置对象。
export const CommonConfig = {
datepickerConfig: {
dateFormat : 'dd-mm-yyyy',
displayTime: true,
....
},
// here you can put your other configuration
}
此导出的常量可通过组件,服务中的import语句访问。
import { CommonConfig } from './<path where Common config is define>';
2)如果要从应用程序更改配置值。
在这种情况下,您必须创建一个全局级别的服务,并在app.module.ts文件的提供者部分中注入。当我们将全局服务定义到app.module.ts的提供者部分时,只有一个实例可用于整个应用程序。因此,您可以从此服务访问任何数据/配置,也可以设置/修改现有配置。
我希望这会对你有所帮助。
答案 1 :(得分:0)
创建组件并从父组件传递配置选项。将picker.defaults.ts文件设置为默认值并从中导出const。所以你可以写 @Input pickerConfig:any; 在ngOnInit中, this.pickerConfig = defaultConfig;