Javascript 我怎么能用一个;如果;做同样的工作?
我希望你们都好 我有一个方法Javascript 我怎么能用一个;如果;做同样的工作?,javascript,jquery,methods,return-value,Javascript,Jquery,Methods,Return Value,我希望你们都好 我有一个方法订阅者: subscriber: function() { var self = this; self.hideError(); self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) { console.info(data); console.info(data.datos); // HERE I NEED
订阅者:
subscriber: function() {
var self = this;
self.hideError();
self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) {
console.info(data);
console.info(data.datos);
// HERE I NEED TO RESUME THE CODE
self.showModal();
self.idPanel=data.iCont;
});
},
我有方法llenarTareasTemp
:
llenarTareasTemp: function(data){
var self = this;
$("#opt1").html("");
var bEncontrado=false; // REPLACED BY RETURN FALSE.
$.each(data.datos, function(index,value) {
if(value!=undefined){
for(var iCont=0;iCont<value.length;iCont++){
if(self.objTareasTemp.idProyecto==value[iCont].idProyecto){
console.info(self.objTareasTemp.idProyecto,"=",value[iCont].idProyecto)
$("#opt1").append("<option>"+value[iCont].nombreTarea+"</option>");
$("#select_seleccionar_proyecto_id").selectpicker('refresh');
bEncontrado=true; // REPLACED BY RETURN TRUE.
}
}
}
});
//if(bEncontrado){
// self.conRegistro();
//}else{
// self.sinRegistro();
// self.llenarTareasRegistradas(self.aDataServer);
//}
},
这些代码运行良好,但我必须总结一下:
if(bEncontrado){
self.conRegistro();
}else{
self.sinRegistro();
}
这是:
if(bEncontrado){
self.conRegistro();
}else{
self.sinRegistro();
self.llenarTareasRegistradas(self.aDataServer);
}
在一个IF中,在方法订户中,在控制台.info(data.datos)之间代码>和self.showmodel()代码>
要做我想做的事,我想我必须更换一些东西。(我评论了那些东西)
因此,在方法subscriber
中,在console.info(data.datos)之间代码>和self.showmodel()
,我不知道如何使用一个if对两个if(bEncontrado)
(从llenartareastrenstadas
和llenarTareasTemp
)排序,因为我必须在方法中删除两个if
参考图像
在第二部分,关于订户方法,我有一个小方案,它什么也不做
(您可以缩放)
请原谅我的英语,谢谢你
解决方案:
我将替换此代码:
if(bEncontrado){
self.conRegistro();
}else{
self.sinRegistro();
作者:返回bEncontrado方法Llentareastemp
和方法LlentareastRegistradas
在方法subscriber
中,在console.info(data.datos)之间代码>和self.showmodel()代码>我把:
var temp = Boolean(self.llenarTareasTemp(data));
var server = Boolean(self.llenarTareasRegistradas(self.aDataServer));
if (temp || server) {
self.conRegistro();
}else{
self.sinRegistro();
}
以同样的方式工作,但使用一个“如果”,无论如何谢谢大家,如果我感到困惑,请原谅。你的问题不是很清楚,但也许这就是你想要的:
subscriber: function() {
var self = this;
self.hideError();
self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) {
console.info(data);
console.info(data.datos);
if (self.llenarTareasTemp(data)) {
self.conRegistro();
} else {
self.sinRegistro();
self.llenarTareasRegistradas(self.aDataServer);
}
self.showModal();
self.idPanel=data.iCont;
});
},
您应该像这样定义一个函数“isEncontrado”:
/**
*如果encontrado调用self.conRegistro(),否则调用self.sinRegistro()
*@param b是Encontrado
*@param isNeedCall是need call self.llenartareasregistrationdas()
*/
isEncontrado:函数(b,isNeedCall){
如果(b){
self.conRegistro();
}否则{
self.sinRegistro();
如果(isNeedCall)
self.llenartareasregistrationdas(self.aDataServer);
}
}
subscriber
方法中没有bEncontrado
变量。这是其他两个方法中的局部变量。是否希望subscriber
调用其他方法并在其if
中使用它们的值?如果无法完全工作,我需要从这两个方法中删除“if”“bEncontrado”,并在subscriber中创建一个“if”。我需要替换var bEncontrado=true;在这两种方法中,通过返回true和bEncontrado=flase通过返回false。我需要一个布尔型的东西,我不知道。无论是真是假,我都需要打电话,方式和以前一样,但如果。。对不起,我不清楚。。我有点绝望不,还不清楚。不要用if
语句解释您想要做什么,而是解释这些函数在做什么,以及您试图解决什么问题。
var temp = Boolean(self.llenarTareasTemp(data));
var server = Boolean(self.llenarTareasRegistradas(self.aDataServer));
if (temp || server) {
self.conRegistro();
}else{
self.sinRegistro();
}
subscriber: function() {
var self = this;
self.hideError();
self.sb.subscribe('seleccionProyecto_seleccionarTarea', function(data) {
console.info(data);
console.info(data.datos);
if (self.llenarTareasTemp(data)) {
self.conRegistro();
} else {
self.sinRegistro();
self.llenarTareasRegistradas(self.aDataServer);
}
self.showModal();
self.idPanel=data.iCont;
});
},