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 相关文章推荐
JS日历 推荐
Dec 03 Javascript
node.js中的console.warn方法使用说明
Dec 09 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
Mar 03 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
Sep 04 Javascript
解析利用javascript如何判断一个数为素数
Dec 08 Javascript
利用NPM淘宝的node.js镜像加速nvm
Mar 27 Javascript
基于JavaScript实现选项卡效果
Jul 21 Javascript
Angular.js中数组操作的方法教程
Jul 31 Javascript
浅谈Webpack打包优化技巧
Jun 12 Javascript
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
Apr 22 Javascript
layui 实现table翻页滚动条位置保持不变的例子
Sep 05 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
php 分页类 扩展代码
2009/06/11 PHP
php下使用SimpleXML 处理XML 文件
2010/02/27 PHP
解析百度搜索结果link?url=参数分析 (全)
2012/10/09 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
PHP设计模式之适配器模式原理与用法分析
2018/04/25 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
利用js对象弹出一个层
2008/03/26 Javascript
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
Python中转换角度为弧度的radians()方法
2015/05/18 Python
Python中类型关系和继承关系实例详解
2015/05/25 Python
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
pytest中文文档之编写断言
2019/09/12 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
C#公司笔试题
2014/03/28 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
化工专业大学生职业生涯规划书
2014/01/14 职场文书
文科生自我鉴定
2014/02/15 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
大学计划书范文800字
2014/08/14 职场文书
英语教师个人工作总结
2015/02/09 职场文书