Проблемы с рендерингом плагина VueJS. Vue Formulate
Так что я не профессионал в vueJs, поэтому, если вам нужна дополнительная информация, просто напишите в комментариях, я постараюсь предоставить ее... Так я использую этот плагин
import VueFormulate from '@braid/vue-formulate';
Vue.use(VueFormulate);
и в моем шаблоне, где я хочу использовать этот плагин
<FormulateInput
type="email"
name="email"
label="Enter your email address"
help="We’ll send you an email when your ice cream is ready"
validation="required|email"
/>
но на странице браузера ничего нет, и то, что я вижу в отображенном дереве страниц
<formulateinput
type="email"
name="email"
label="Enter your email address"
help="We’ll send you an email when your ice cream is ready"
validation="required|email">
</formulateinput>
Итак, как я вижу, это не отображается.
Маленькая интересная вещь. Когда компонент, в котором я хочу использовать плагин, установлен, затем выводится в объекте плагина консоли, и он выходит
mounted() {
console.log(VueFormulate);
}
не могли бы вы помочь мне найти то, что мне не хватает?:3
2 ответа
Основная проблема заключалась в тегах шаблонов.
И компонент VueFormulate в моем шаблоне должен быть в нижнем регистре, разделен дефисом и иметь закрывающий тег.
<formulate-input
type="email"
name="email"
label="Enter your email address"
help="We’ll send you an email when your ice cream is ready"
validation="required|email"
></formulate-input>
вместо того
<FormulateInput
type="email"
name="email"
label="Enter your email address"
help="We’ll send you an email when your ice cream is ready"
validation="required|email"
/>
Подробнее о стиле синтаксиса:
https://vuejs.org/v2/style-guide/#Component-name-casing-in-templates-strongly-recommended
Попробуйте этот рабочий код:
App.js
<template>
<div id="app">
<FormulateInput
type="email"
name="email"
label="Enter your email address"
help="We’ll send you an email when your ice cream is ready"
validation="required|email"
/></div>
</template>
<script>
import Vue from "vue";
import VueFormulate from '@braid/vue-formulate';
Vue.use(VueFormulate);
export default {
name: "App",
};
</script>
<style>
#app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
а Main.js должен быть таким:
import Vue from "vue";
import App from "./App.vue";
new Vue({
render: h => h(App)
}).$mount("#app");
Фактически он визуализирует компонент, но без стиля! если вы хотите использовать стиль компонента, напишите:
@import '../node_modules/@braid/vue-formulate/themes/snow/snow.scss';
в свой файл стиля scss или импортируйте https://github.com/wearebraid/vue-formulate/blob/master/dist/snow.min.css в свой проект!