2016-04-09 20 views
0

Görüşümde kullanılabilecek bir değer, ancak bir değer mevcutsa döndürür. Daha sonra bu değeri, bir görünüm için, eğer bir değer varsa, yalnızca doğru bir şekilde dize gösterdiği durumlarda, bir bakış açısına başvuruyorum. Ancak, if/else deyimini ayrı bir görünümde kullandığımda, var olan değere bakılmaksızın başka bir ifadeyle sonuçlanır. Neden sadece If ifadesini kullanmak için doğru çıktıyı alıyorum, ama eğer oraya başka bir tane atsam yanlış çıktı alıyorum?Gidonlar/Diğer Koşullar Hatalı Değer Çıktısı

Fonksiyon (değerler varsa bir dize dönen):

dataDateRangeSlug: function(){ 
      var startDateValue = this.getDataValue('dataDateStart'); 
      var startDate = new Date(startDateValue); 
      var momentStartDate = moment(startDate).utc().format("MM/DD/YYYY"); 

      var endDateValue = this.getDataValue('dataDateEnd'); 
      var endDate = new Date(endDateValue); 
      var momentEndDate = moment(endDate).utc().format("MM/DD/YYYY"); 

      if (startDateValue == null){ 
       console.log("Statement true"); 
      } else { 
       console.log("Statement false"); 
       return momentStartDate + ' - ' + momentEndDate; 
      }   

Sadece {{#if}} kullanarak:

{{#if dataDateRangeSlug}} 
      <p class="card-date-range">Date Range: {{this.dataDateRangeSlug}}</p> 
{{/if}} 

Çıktı:

dataDateRangeSlug içinde bir null varsa, p etiketi değil mevcut.

dataDateRangeSlug öğesinde bir değer varsa, p etiketi, kaydın değeriyle birlikte bulunur.

kullanma {{#if}} ve {{else}}:

{{#if dataDateRangeSlug}} 
        <div class="form-inline date-start"> 
         <label for="data-start-range">Data Date Start:</label> 
         <input type="date" id="data-date-start" name="dataDateStart" value="{{this.dataDateStartSlug}}"> 
        </div> 
        <div class="form-inline date-end"> 
         <label for="data-end-range">Data Date End:</label> 
         <input type="date" id="data-date-end" name="dataDateEnd" value="{{this.dataDateEndSlug}}"> 
        </div> 
       {{else}} 
        <div class="add-remove-date-range"> 
         <a href="#" id="date-range-add-link">Add Report Date Range</a> 
         <a href="#" id="date-range-remove-link">Remove Report Date Range</a> 
        </div> 
{{/if}} 

Çıktı:

Her zaman ne olursa olsun bir rekor varsa, {{else}} kodunu verir bir değere sahip veya null değeri

cevap

0

Benimki gibi beklendiği gibi çalışıyor, örnek fiddle https://jsfiddle.net/u5x9fj98/1/
'u nasıl oluşturdunuz? ebars sahipleri/değişken? Yukarıdaki keman'a benzer şekilde deneyebilirsiniz (dataDateRangeSlug var Data altında tanımlanıyor).

+0

Haklısınız, sorun kodla değil, nesneyi çağırıyordu. Nesne özelliğine başvurmadan yalnızca nesne özelliğini aradım, bu yüzden doğru çıktıyı almadım. – cphill