Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular2 Click方法始终返回假值_Javascript_Jquery_Angular_Angular2 Forms_Angular2 Services - Fatal编程技术网

Javascript Angular2 Click方法始终返回假值

Javascript Angular2 Click方法始终返回假值,javascript,jquery,angular,angular2-forms,angular2-services,Javascript,Jquery,Angular,Angular2 Forms,Angular2 Services,我有四个需要在后端验证的输入字段。因此,我编写了一个服务调用,根据输出,我需要将类添加到输入字段中。因此,如果可以,那么绿色或红色 我想对所有人使用相同的方法,因为后端验证是相同的。所以我试图从点击函数返回布尔值,但它总是返回false。这是我的密码:- <div class="row"><div class="col-md-2 col-md-offset-2 nopadding"><div class="form-group pull-right">

我有四个需要在后端验证的输入字段。因此,我编写了一个服务调用,根据输出,我需要将类添加到输入字段中。因此,如果可以,那么绿色或红色

我想对所有人使用相同的方法,因为后端验证是相同的。所以我试图从点击函数返回布尔值,但它总是返回false。这是我的密码:-

  <div class="row"><div class="col-md-2 col-md-offset-2 nopadding"><div class="form-group   pull-right"><label>Query1:</label></div></div><div class="col-md-4 col-md-offset-0"><div class="form-group input-group"><input type="text" [ngClass]="{red: !(query1ok),green: (query1ok)}" class="form-control" name="query1" id="query1" [(ngModel)]="sampledetails.rules[0].query1"><span class="input-group-btn"><a  href="javascript:void(0)" class="btn btn-default" alt="validate query" (click)="[query1ok]:validateQuery(query1ok,sampledetails.rules[0].query1)" type="button"><i class="fa fa-play"></i></a></span></div></div></div> <div class="row"><div class="col-md-2 col-md-offset-2 nopadding"><div class="form-group   pull-right"><label>Query2:</label></div></div><div class="col-md-4 col-md-offset-0"><div class="form-group input-group"><input type="text" [ngClass]="{red: !(query2ok),green: (query2ok)}" class="form-control" name="query2" id="query2" [(ngModel)]="sampledetails.rules[0].query2"><span class="input-group-btn"><a  href="javascript:void(0)" class="btn btn-default" alt="validate query" (click)="validateQuery(query2ok,samplerdetails.rules[0].query2)" type="button"><i class="fa fa-play"></i></a></span></div></div></div><div class="row"><div class="col-md-2 col-md-offset-2 nopadding"><div class="form-group   pull-right"><label>Query3:</label></div></div><div class="col-md-4 col-md-offset-0"><div class="form-group input-group"><input type="text" [ngClass]="{red: !(query3ok),green: (query3ok)}" class="form-control" name="query3" id="query3" [(ngModel)]="samplerdetails.rules[0].query3"><span class="input-group-btn"><a  href="javascript:void(0)" class="btn btn-default" alt="validate query" (click)="validateQuery(query3ok,ssampledetails.rules[0].query3)" type="button"><i class="fa fa-play"></i></a></span></div></div></div><div class="row"><div class="col-md-2 col-md-offset-2 nopadding"><div class="form-group   pull-right"><label>Query4:</label></div></div><div class="col-md-4 col-md-offset-0"><div class="form-group input-group"><input type="text" [ngClass]="{red: !(query4ok),green: (query4ok)}" class="form-control" name="query4" id="query4" [(ngModel)]="samplerdetails.rules[0].query4"><span class="input-group-btn"><a  href="javascript:void(0)" class="btn btn-default" alt="validate query" (click)="validateQuery(query4ok,sampledetails.rules[0].query4)" type="button"><i class="fa fa-play"></i></a></span></div></div></div>


validateQuery(querystatus, query){
    this._validatorService.validateQuery(query).subscribe(
            (data) => {
                 return false;
            },
            (err) =>{
            return true;
            }
        );
    }
Query1:Query2:Query3:Query4:
validateQuery(查询状态,查询){
此.\u validatorService.validateQuery.subscribe(
(数据)=>{
返回false;
},
(错误)=>{
返回true;
}
);
}

所以想知道是否有可能从angular2中的click函数返回布尔值,如果有,如何返回

您应该返回订阅的数据,如下所示

validateQuery(querystatus, query){
    this._validatorService.validateQuery(query).subscribe(
            (data) => {
                 return data;//////////////////////////
            },
            (err) =>{
            return true;
            }
        );
    }
更新1

validateQuery(querystatus, query){
    this._validatorService.validateQuery(query).subscribe(
            (data) => {
                 this.queryok= false;
            },
            (err) =>{
                 this.queryok= true;
            }
        );
    }
HTML中的函数调用如下所示

(click)="validateQuery(query1ok,sampledetails.rules[0].query1)"

我试过这样做。同样的错误。我想在返回布尔值的err else数据中返回false。我的数据是真的,但我仍然得到点击方法假。只是想检查我是否正确分配了返回值?这是我的代码:-'(单击)=“QueryOK=validateQuery(QueryOK,sampledetails.rules[0].query1)”您在团队查看器中可用吗<代码>查询OK这是什么意思?抱歉,无法访问team viewer。QueryOK是我在类中声明的变量,如QueryOK:boolean=true;这和我在ngClassYeah中用于条件的变量是一样的,它可以工作,但这里quer1ok是硬编码的。我想在参数中传递它并使用它,因为我有4个需要验证的diff字段,我想对所有字段使用相同的函数。请使用
*ngFor