Giter Club home page Giter Club logo

Comments (6)

thetutlage avatar thetutlage commented on June 24, 2024

Just check if slot exists using

@if($slots.head)
<head>
  {{{ await $slots.head() }}}
</head>
@end

from edge.

pete-gi avatar pete-gi commented on June 24, 2024

Ok, I can. But it's a huge step back. I know I don't have to explain to you how it worked in Adonis v5, but it requires more code to achieve the same result.
Templating engine lacks now functionality that worked before pretty well. It's a regression.

from edge.

RomainLanz avatar RomainLanz commented on June 24, 2024

But it's a huge step back

This is a strong statement for one additional line of code.

It totally makes sense to verify that a slot exists before trying to use it. In fact, before, you were generating bad HTML because you had an empty <head> tag.

from edge.

pete-gi avatar pete-gi commented on June 24, 2024

In fact, before, you were generating bad HTML because you had an empty tag.

That's just an example with the smallest amount of HTML anyone needs in this issue.

This is a strong statement for one additional line of code.

One line of code for every slot. You don't know what's the scope of the projects people are working on.

But.
WebComponents don't need conditionals for slots. Vue doesn't need.
Twig for PHP has blocks like the sections before and doesn't need if statement. Laravel Blade the same.

I know I can make a global function or @component that can take care of this conditional for me. I'm working with Adonis since v5 released and having to write more code for something that was already there in previous version for years is a regression.

from edge.

thetutlage avatar thetutlage commented on June 24, 2024

Using components for layouts is a very common practice. Just search for the same in the Vue ecosystem or in the React ecosystem.

Yes, they work different from layouts in first place and you just have to find the right pattern with them.

But anyways, we won't be adding layouts back now. So the debate around the advantages and disadvantages won't help much.

from edge.

pete-gi avatar pete-gi commented on June 24, 2024

Using components for layouts is a very common practice. Just search for the same in the Vue ecosystem or in the React ecosystem.

I work with them on the daily basis for 5 years, I don't have to search for it.

I just wanted to not use the if statement for checking whether the slot exists. That was the issue. You removed it from previous version of Edge.
But ok, you're not doing anything in this matter, I do accept this and go back to something that works as it should.

from edge.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.