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 检测浏览器和操作系统的脚本
Dec 26 Javascript
Prototype Class对象学习
Jul 19 Javascript
JS实现网页上随机产生超链接地址的方法
Nov 09 Javascript
jQuery基于ID调用指定iframe页面内的方法
Jul 06 Javascript
微信小程序之发送短信倒计时功能
Aug 30 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
May 05 Javascript
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
js实现动态增加文件域表单功能
Oct 22 Javascript
微信小程序实现商品属性联动选择
Feb 15 Javascript
JavaScript实现的九种排序算法
Mar 04 Javascript
vue中使用vee-validator完成表单校验方案
Nov 01 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
Mar 04 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
全国FM电台频率大全 - 2 天津市
2020/03/11 无线电
PHP自动生成表单代码分享
2015/06/19 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
jquery操作select option 的代码小结
2011/06/21 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
javascript中createElement的两种创建方式
2015/05/14 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
angularjs指令之绑定策略(@、=、&amp;)
2017/04/13 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
js 计算图片内点个数的示例代码
2019/04/04 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
nodejs各种姿势断点调试的方法
2020/06/18 NodeJs
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
python基本语法练习实例
2017/09/19 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
如何通过Python实现标签云算法
2019/07/02 Python
Python列表元素常见操作简单示例
2019/10/25 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
新员工欢迎词
2014/01/12 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
机关作风建设心得体会
2014/10/22 职场文书
投标承诺函范文
2015/01/21 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
运动会200米广播稿
2015/08/19 职场文书
Django基础CBV装饰器和中间件
2022/03/22 Python
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL