所以我还没有看到这样做的方法,我已经看到它完成并解释了但是在组件之间。
我有这个模板:
template: `<input value="Date" type="text" class="datepicker" onclick ="myCalendar()" >
这很有效。我设法在变量上选择了日期:
onSet: function(context) {
foo = new Date(context.select);
所以我现在想把那个变量,那个值传递给调用函数的组件,所以,一旦我完成了这个,我就可以创建一个http请求具有该值,然后将从请求中恢复的内容传递给下一个组件。
编辑:
import {Component} from 'angular2/core';
@Component({
selector: 'cal',
template: `<input value="date" type="text" class="datepicker" onclick ="myCalendar()" >
`,
directives: []
})
export class CalendarioDentro {
constructor() {
}
}
myCalendar功能:
var foo;
function myCalendar (){
$('.datepicker').pickadate({
onSet: function(context) {
foo = new Date(context.select);
var curr_date = foo.getDate();
var curr_month = foo.getMonth();
var curr_year = foo.getFullYear();
var dateFormated=(curr_date + "-" + curr_month + "-" + curr_year);
console.log(dateFormated);
}
});
}
我很抱歉没有足够的意义。我是这个网络世界的新手,我花了一些时间学习正确表达。我的想法是我有一个执行操作的javascript函数:更改日历显示的日期。我想捕获那个日期,所以我可以向我用Java编程的REST服务发出HTTP请求,这样我就可以使用下一个组件返回的信息。
但是我陷入了第一阶段。我确实有日期的价值,但我不知道如何将它传递给调用javascript函数的组件。据我所知,我需要这样做,以便我可以发出GET Http请求。
答案 0 :(得分:1)
有几种方法可以做到这一点。我认为一个简单的解决方案是将[(ngModel)]
添加到您的输入中。然后,您可以在datepicker插件中处理onClose()
事件。
这是一个简单的例子:
import {Component, OnInit} from 'angular2/core';
@Component({
selector: 'cal',
template: `<input value="date" name="date" type="text" class="datepicker" [(ngModel)]="date">`
})
export class CalendarioDentro implements OnInit {
date: any;
ngOnInit() {
$('.datepicker').pickadate({
onSet: function(context) {
foo = new Date(context.select);
var curr_date = foo.getDate();
var curr_month = foo.getMonth();
var curr_year = foo.getFullYear();
var dateFormated=(curr_date + "-" + curr_month + "-" + curr_year);
console.log(dateFormated);
},
onClose: function() {
// Your code here
// You can access the date like this:
console.log(this.date)
}
});
}
}
我已将插件初始化移至OnInit Lifecycle hook。我发现这是初始化jquery代码的好地方,但我同意GünterZöchbauer你应该尽可能避免jquery。使用Angular 2 jquery附带的所有工具,我不需要接缝。