how to use if in a function in knockout js?

后端 未结 3 1400
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-29 05:42

i have a condition in my function . i want to set a value of a variable true or false on the basis of another variable whether it is empty of not in knockout js?



        
相关标签:
3条回答
  • 2021-01-29 06:06

    The way you have it written you would need

    self.editData = function (data) { 
       self.id(data.id);
       self.nscto(data.nscto);
       if (self.nscto() != null && self.nscto() == ""){
            self.view(true);
       }
    }
    
    0 讨论(0)
  • 2021-01-29 06:13

    There are many ways to do what you want:

    if ( null != self.nscto() && "" === self.nscto() )
    {
        self.view(true)
    }    
    

    or

    if ( null != self.nscto() && self.nscto().length === 0 )
    {
        self.view(true)
    }
    

    or simpler

    self.view( null != self.nscto() && "" === self.nscto() )
    
    0 讨论(0)
  • 2021-01-29 06:29

    You have used two different variables (nsct and nsc) and an operator that doesn't exist (=!). The last part of the condition would be interpreted as an assignment: nsc = (!"").

    Also, the logic is wrong, there is no value that is null and an empty string at the same time, so the condition would always be true. You would use the && operator instead:

    if (nsct != null && nsct != "") {
      self.view(true);
    }
    

    If you want to set it to false if the condition isn't true, then you would use an else also:

    if (nsct != null && nsct != "") {
      self.view(true);
    } else {
      self.view(false);
    }
    

    You can also do that by using the value of the condition:

    self.view(nsct != null && nsct != "");
    
    0 讨论(0)
提交回复
热议问题