如何解决如何注入NgbDateParserFormatter的本机实现?
这里(how to inject ng-bootstrap NgbDateParserFormatter in a utility class)已经提出了类似的问题,但是它涉及到注入到 static 类中,其中注入根本不起作用。
我什至不能将此类的本地(内部)实现注入到Angular组件中!
所以,如果我声明如下:
import { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';
@Component({
...
})
export class RequestHistoryComponent implements OnInit,OnDestroy {
...
constructor(
...
protected datePickerFormatter: NgbDateParserFormatter
) {}
并使用如下:
if (model.requestSince) {
const requestSinceValue: string = this.datePickerFormatter.format(model.requestSince);
this.logService.log(`RequestSince value: ${requestSinceValue}`);
res = { requestSince: requestSinceValue,...res }
}
因此,不会发生任何异常或错误,但是有问题的代码会生成以下内容:
RequestSince值:函数(值){\ n if(值!=空){\ n set $ 1(this,unit,value); \ n hooks.updateOffset(this,keepTime); \ n返回this; \ n} else {\ n返回get(this,unit); \ n} \ n}-“
在我看来,这好像不是实际调用format
方法,而是以某种方式..仅显示了代码?
Ng-bootstrap文档从未明确声明过该实现是否可在模块外部注入/使用:https://ng-bootstrap.github.io/#/components/datepicker/overview#date-model
所以..我在这里完全不知所措。
编辑:也许我什至不需要注入该对象,我只想能够与NdbDateStruct和ISO格式进行解析,因此基本上在模板代码中,我需要能够准确产生所选日期就像在用户界面中显示的一样(反之亦然)
EDIT2:我已经将NgbDateISOParserFormatter
的原始实现代码引入了我的项目,并且没有任何改变。因此,显然这与注入无关,而是发生在函数返回带插值的模板文字时,它不会返回插值文字,而是应该执行插值的函数文本。如果有的话,这让我更加沮丧。
解决方法
简单的https://github.com/nginx-proxy/nginx-proxy(使用@ ng-bootstrap / ng-bootstrap”:7.0.0)
constructor(protected dateParser: NgbDateParserFormatter){}
ngOnInit()
{
of({
containsId:"1,2,3",requestSince:{year:2020,month:1,day:16},requestTill: {year:2020,day:16}
}).subscribe(res=>{
this.data=this.dateParser.format(res.requestSince)
})
}
给您data =“ 2020/01/16”
这是原因,因为我认为您的错误在另一个地方
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。