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 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
从JavaScript 到 JQuery (1)学习小结
Feb 12 Javascript
Javascript中string转date示例代码
Nov 01 Javascript
JavaScript中字符串分割函数split用法实例
Apr 07 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
Mar 02 Javascript
JS获取当前页面名称的简单实例
Aug 19 Javascript
关于js二维数组和多维数组的定义声明(详解)
Oct 02 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
Dec 08 Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 Javascript
Bootstrap Paginator+PageHelper实现分页效果
Dec 29 Javascript
基于js实现抽红包并分配代码实例
Sep 19 Javascript
Vue实现随机验证码功能
Dec 29 Vue.js
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
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
JavaScript 学习点滴记录
2009/04/24 Javascript
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
编程语言Python的发展史
2014/09/26 Python
Python判断文件和文件夹是否存在的方法
2015/05/21 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
python下载图片实现方法(超简单)
2017/07/21 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
python实现图像拼接
2020/03/05 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
接口可以包含哪些成员
2012/09/30 面试题
社区十八大感言
2014/01/19 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python