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 相关文章推荐
基于jQuery的仿flash的广告轮播
Nov 05 Javascript
JavaScript中for..in循环陷阱介绍
Nov 12 Javascript
javascript获取当前鼠标坐标的方法
Jan 10 Javascript
jQuery插件bxSlider实现响应式焦点图
Apr 12 Javascript
JavaScript获得url查询参数的方法
Jul 02 Javascript
JavaScript实现模仿桌面窗口的方法
Jul 18 Javascript
JavaScript的==运算详解
Jul 20 Javascript
addEventListener()与removeEventListener()解析
Apr 20 Javascript
js实现数字递增特效【仿支付宝我的财富】
May 05 Javascript
薪资那么高的Web前端必看书单
Oct 13 Javascript
Vue中的scoped实现原理及穿透方法
May 15 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
Sep 16 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
珊瑚虫IP库浅析
2007/02/15 PHP
php实现的ping端口函数实例
2014/11/12 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
yii2安装详细流程
2018/05/23 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
基于jQuery的的一个隔行变色,鼠标移动变色的小插件
2010/07/06 Javascript
javascript之bind使用介绍
2011/10/09 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
python PIL模块与随机生成中文验证码
2016/02/27 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
Python3.5运算符操作实例详解
2019/04/25 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
自我鉴定范文200字
2013/10/02 职场文书
销售人员自我评价
2014/02/01 职场文书
端午节演讲稿
2014/05/23 职场文书
学习型班组申报材料
2014/05/31 职场文书
植树节标语
2014/06/27 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
停车场管理制度范本
2015/08/05 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
在ubuntu下安装go开发环境的全过程
2022/08/05 Golang