Before this commit, the tagName of a `t-slot` directive was ignored. So,
<t t-slot="owl">...</t> and <div t-slot="owl">...</div> were basically
equivalent.
This is not really acceptable, since it most likely hides a developer
error. So, the question is what to do about it? There are two obvious
solutions:
- either make the `t-slot` directive behave as t-esc: the above example
would then be equivalent to <div><t t-slot="owl">...</t></div>
- or throw an error.
However, the first solution seems to be ambiguous when using a component
with slot props. How should the following code be interpreted?
<SomeComponent a="a" b="b" t-slot="owl"/>
Should the 'a' and 'b' props be considered props for the component or
for the slot?
I guess we could make an exception for components, but it seems more
complicated than what it should be. Because of that, it seems simpler to
just throw an error.
closes#1354
This new t-set-slot directive is meant to replace t-set when we need to
define the content of a sub slot. All new code should use that
directive.
The old t-set directive is still supported for now, but this should be
removed when we publish Owl 2.0.