Ben nesne takip ederken .hamlc içinde, mevcut olup olmadığını kontrol edin, bir JavaScript vardır: @ object1 burada var olmadığını varsayalımKontrol koşulu return false EĞER ama IF içeride ifadesi hala JavaScript
.
var property01;
// work as expected
if (!#{@object1}) {
console.log("not exist"); // print
} else {
console.log("exist");
}
beklenen ve metni göstermek gibi bu çalışma konsolunda "yok" ama object1 böylece mevcut olması halinde ben eklemek istediğiniz bir durum söz konusudur:
var property01;
if (!#{@object1}) { // should execute here and end the condition but not
console.log("not exist"); // not print
property01 = 'undefined';
} else {
console.log("exist"); // not print as well
property01 = '#{@object1.property01}'; // Delete this line will work normally but not what it should be.
}
yukarıda beni bir dönüş hata, "property01 'özelliği okunamıyor' property01 'özelliği okunmadı.
Bunu yapmamın nedeni, bunun @ object1 uygulamasının buraya geçirilmiş olabileceği için uygulanan başka bir sayfa olmasıdır. Bu nedenle, hangi sayfaya uygulandığına bağlı olarak değişir. "@ object1" nesnesinin var olup olmaması.
Şu anda @ object1 öğesinin tanımlanmadığından dolayı tanımsız olduğunu biliyorum. Bu yüzden, IF ifadesinde belirtilen ve ELSE'ye dahil olmayan 'tanımlanmamış' atamanız gerekir. Bu yanlış bir şey var mı?
okuyamaz: olduğu gibi Senaryonu korumak istiyorsanız, basitçe 3. hatta etrafındaki tırnak kaldırmak 'property01' özelliği mevcut değildir, çünkü yanlış ve hata verir, çünkü varolan objenin yerine getirilmeye çalışılmıştır '' property01 = '# {@ object1.property01}' ' – 7urkm3n
Evet, bahsettiğim gibi biliyorum ama bu yanlıştır bile neden yanlıştır O f gerçek koşulu çalıştı ?? IF durumunun olmaması durumunda OL yapılmalıdır. – Takumi
Aşağıdaki yazıyı kontrol et, undefined veya null ise başka bir ifadeye atlar. – 7urkm3n