Разрешает ли Vue наследование шаблонов, как Symfony с Twig? - PullRequest
0 голосов
/ 06 июля 2018

Я хотел бы иметь возможность определять блоки в шаблоне компонента Vue, например:

{# templates/blog/layout.html.twig #}
{% extends 'base.html.twig' %}

{% block body %}
    <h1>Blog Application</h1>
    {% block content %}{% endblock %}
{% endblock %}

А затем используйте указанный выше шаблон в другом компоненте, например:

{# templates/blog/index.html.twig #}
{% extends 'blog/layout.html.twig' %}

{% block content %}
    {% for entry in blog_entries %}
        <h2>{{ entry.title }}</h2>
        <p>{{ entry.body }}</p>
    {% endfor %}
{% endblock %}

Примеры взяты из: https://symfony.com/doc/current/templating/inheritance.html

Возможно ли это? Я уже использую API расширения (https://vuejs.org/v2/api/#Vue-extend), но переопределение определенных блоков невозможно.

Спасибо:)

1 Ответ

0 голосов
/ 06 июля 2018

Vue сама не разрешает / не поддерживает, нет.

Однако, если вы используете Single File Components от Vue, вы можете использовать механизм шаблонов, который поддерживает это, например pug или nunjucks, для написания ваших шаблонов.

Чтобы узнать, как использовать pug с vue-loader, см. здесь .

...