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 相关文章推荐
IE8下String的Trim()方法失效的解决方法
Nov 08 Javascript
JavaScript控制按钮可用或不可用的方法
Apr 03 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
Aug 24 Javascript
jQuery实现简洁的导航菜单效果
Nov 23 Javascript
jQuery对html元素的取值与赋值实例详解
Dec 18 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
Jul 05 Javascript
swiper插件自定义切换箭头按钮
Dec 28 Javascript
微信小程序实现滚动消息通知
Feb 02 Javascript
简述vue状态管理模式之vuex
Aug 29 Javascript
js操作table中tr的顺序实现上移下移一行的效果
Nov 22 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
Apr 01 Javascript
使用vue3重构拼图游戏的实现示例
Jan 25 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里的JS打印函数
2006/10/09 PHP
php简单封装了一些常用JS操作
2007/02/25 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
2020/05/01 Javascript
使用Python实现简单的服务器功能
2017/08/25 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
中秋节慰问信
2015/02/15 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
《惊弓之鸟》教学反思
2016/02/20 职场文书
导游词之吉林吉塔
2019/11/11 职场文书