VueJS 取得 URL 参数值的方法


Posted in Javascript onJuly 19, 2019

先给大家介绍下VueJS取得URL参数

vuejs取得URL中参数的值

 地址:http://localhost:3333/#/index?id=001

结果:001

console.log(this.$route.query.id)

PS:下面给大家介绍下vue自定义表单生成器可根据json参数动态生成表单效果

介绍

form-create 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成器。并且支持生成任何 Vue 组件。结合内置17种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定。

文档|github

演示项目:开源的高品质微信商城

功能

  • 自定义组件

可生成任何Vue组件

自带数据验证轻

松转换为表单组件

  • 通过 JSON 生成表单
  • 通过 Maker 生成表单
  • 强大的API,可快速操作表单
  • 双向数据绑定
  • 事件扩展
  • 局部更新
  • 数据验证
  • 栅格布局
  • 内置组件17种常用表单组件

对比 1.x

  • 速度更快
  • 体积更小
  • 更强大的全局配置
  • 自定义组件更容易扩展
  • 更容易支持第三方 UI 库
  • 更少的 bug

示例

通过 JSON 创建表单

VueJS 取得 URL 参数值的方法

通过 API 操作表单

VueJS 取得 URL 参数值的方法

@form-create包说明

名称 说明

名称 说明
@form-create/iview iview 版表单生成器
@form-create/element-ui element-ui 版表单生成器
@form-create/core form-create 核心包
@form-create/utils form-create 工具包
@form-create/data 省市区多级联动数据

使用

以element-ui版本为例介绍如何在项目中使用 form-create

安装

npm i @form-create/element-ui

挂载

全局注册

import formCreate form '@form-create/element-ui';
Vue.use(formCreate);

局部挂载

import formCreate form '@form-create/element-ui';
export default {
 components:{
 formCreate:formCreaet.$form()
 }
}

生成表单

<template>
 <form-create v-model="$f" :rule="rule" @on-submit="onSubmit"></form-create>
</template>
export default {
 data () {
 return {
 //表单实例对象
 $f:{},
 //表单生成规则
 rule:[
 {
 type:'input',
 field:'goods_name',
 title:'商品名称'
 },
 {
 type:'datePicker',
 field:'created_at',
 title:'创建时间'
 }
 ]
 };
 },
 methods:{
 onSubmit(formData){
 //TODO 提交表单
 }
 }
};

效果

VueJS 取得 URL 参数值的方法

实例对象 $f

可以通过 $f 快速操作表单,例如:

  • $f.hidden:隐藏指定组件
  • $f.validate:验证表单
  • $f.setValue:修改表单组件的值
  • $f.append:追加表单组件

自定义组件

生成

通过标签生成

{
 type:'el-button',
 name: 'btn',
 props:{
 type:'primary',
 field:'btn',
 loading:true
 },
 children:['加载中']
}

通过模板生成

{
 type:'template',
 name:'btn'
 template:'<el-button :loading="loading">{{text}}<el-button>',
 vm: new Vue({
 data:{
 loading:true,
 text:'加载中'
 }
 })
}

转换为表单组件

自定义组件转换为表单组件后,可通过$f.formData,$f.getValue,$f.setValue,$f.disabled等方法快速操作组件,达到和内置组件相同的效果

预定义

props

在自定义组件内部通过props接收一下属性

  • value表单的值
  • disabled组件的禁用状态

例如:

vm = Vue({ props:{ value:String, disabled:Boolean }})

input 事件

通过input事件更新组件内部的值

当组件值发生变化后,通过 input 事件更新值.例如:

vm.$emit('input',newValue);

挂载自定义组件

要生成的自定义组件必须通过Vue.component方法挂载到全局,或者通过formCreate.component方法挂载

例如:

formCreate.component('TestComponent',component);

或者

Vue.component('TestComponent',component);

生成

表单组件必须定义field属性

JSON

{
 type:'TestComponent',
 value:'test',
 field:'testField',
 title:'自定义组件'
}

Maker

formCreate.maker.create('TestComponent','testField','自定义组件').value('test')

示例

自定义计数器按钮组件,获取按钮点击数.该组件的功能和内置组件相同

formCreate.maker.template('<el-button @click="onClick" long :disabled="disabled">计数器-{{num}}</el-button>', new Vue({
 props:{
 //预定义
 disabled:Boolean,
 value:Number,
 },
 data: function () {
 return {
 num: this.value,
 }
 },
 watch:{
 value(n){
 this.num = n;
 }
 },
 methods: {
 onClick: function () {
 this.num++;
 //更新组件内部的值
 this.$emit('input',this.num);
 },
 },
}), 'tmp', '自定义 title').value(100).props('disabled',false)

完整示例

VueJS 取得 URL 参数值的方法

总结

以上所述是小编给大家介绍的vue自定义表单生成器可根据json参数动态生成表单,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
Aug 15 Javascript
理解 JavaScript 预解析
Oct 25 Javascript
基于Jquery的动态创建DOM元素的代码
Dec 28 Javascript
从阶乘函数对比Javascript和C#的异同
May 31 Javascript
js清理Word格式示例代码
Feb 13 Javascript
jQuery之ajax删除详解
Feb 27 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
Oct 09 Javascript
javascript实现延时显示提示框特效代码
Apr 27 Javascript
关于function类中定义变量this的简单说明
May 28 Javascript
JS本地刷新返回上一页代码
Jul 25 Javascript
vue-router跳转页面的方法
Feb 09 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
Nov 03 Javascript
vue自定义表单生成器form-create使用详解
Jul 19 #Javascript
bootstrap table列和表头对不齐的解决方法
Jul 19 #Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 #Javascript
更强大的vue ssr实现预取数据的方式
Jul 19 #Javascript
bootstrap table.js动态填充单元格数据的多种方法
Jul 18 #Javascript
bootstrap table实现横向合并与纵向合并
Jul 18 #Javascript
微信小程序判断用户是否需要再次授权获取个人信息
Jul 18 #Javascript
You might like
人大复印资料处理程序_输入篇
2006/10/09 PHP
第三节--定义一个类
2006/11/16 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
php无限极分类实现方法分析
2019/07/04 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
些很实用且必用的小脚本代码
2006/06/26 Javascript
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
Python 的类、继承和多态详解
2017/07/16 Python
python Pygame的具体使用讲解
2017/11/03 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
Django对models里的objects的使用详解
2019/08/17 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
智能钱包:Ekster
2019/11/21 全球购物
12岁生日感言
2014/01/21 职场文书
全神贯注教学反思
2014/02/03 职场文书
委托公证书
2014/04/08 职场文书
告知书格式
2015/07/01 职场文书