VueJS插件渲染问题。 Vue公式化

时间:2020-07-02 11:29:57

标签: forms vue.js plugins vue-formulate

所以我不是专业人士,这就是为什么如果您需要更多其他信息,只写评论,我将尝试提供它。 这是我安装此插件的方式

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); 
}
控制台上的

屏幕 screen from console

能帮我找到我想念的吗? :3

2 个答案:

答案 0 :(得分:1)

主要问题在于模板标签。

模板中的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

enter image description here

答案 1 :(得分:0)

尝试此工作代码:

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