我正在尝试向ESP8266上的HTTP Server发送POST请求。 4应传输变量:上班时间,下班时间,上班时间,下班时间。我想从我从“ ng-bootstrap”导入的timepicker组件中获取变量
我已经尝试了几种方法来执行此操作,但是即使经过3天的混乱也无法正常工作。我真的对Angular陌生,这是我的第一步。我也已经买了一个关于udemy的课程,但是正如已经提到的,这是我的第一步...
在html文件中,我可以显示变量,但不能在打字稿中使用它,它们甚至会更新:( 应该实现以下生命周期: 输入打开和关闭的时间->单击保存->调用方法->通过邮寄发送数据到后端->后端处理->行动
export class TimepickerComponent implements OnInit {
ontime = {hour: '', minute: ''};
offtime = {hour: '', minute: ''};
onhour = this.ontime.hour;
onminute = this.ontime.minute;
offhour = this.offtime.hour;
offminute = this.offtime.minute;
postData = {};
url = '192.168.4.1/settimes';
constructor(private http: HttpClient) {
this.postData = {
onhour: this.onhour,
onminute: this.onminute,
offhour: this.offhour,
offminute: this.offminute
};
}
我上传了完整的代码,以便在CodePile上更好地查看: HTML-https://www.codepile.net/pile/72MLn1pl TS-https://www.codepile.net/pile/XRWPD67w
答案 0 :(得分:1)
您的postData
对象是在您的构造器中创建的,并且在视图中不包含对变量的引用。您应该在postData
函数中构造postTimes
对象。
请参见以下示例:
var obj1 = { name : '' };
var val = obj1.name;
var data = { name : val };
val = 'bar';
console.log(data) // { name : ''}
var postData = { name : val };
console.log(postData); // { name: 'bar'}