FineUI大版本升级,外置ExtJS库、去AXD化、表格合计行、表格可编辑单元格的增删改、顶部菜单框架

FineUIv3.3.0更新的内容非常多,所以一下子从v3.2.6连跳3个小版本,直接来到了v3.3.0。详细的更新记录请参考这里:http://fineui.com/version主要的更新有如下几个方面:外置ExtJS库去AXD化表格合计行表格可编辑单元格的增删改顶部菜单框架 下面就来详细说明这些更新。 FineUI最初使用的是GPLv2授权协议,不过这和FineUI所倡导的开源免费的原则相抵触,因为如果某个企业使用了FineUI库,即使已经购买了ExtJS的商业授权,还是需要公开源代码的,因为受到FineUI的GPLv2协议限制。基于这个原因,FineUI从v3.1.0开始拥抱ApacheLicense2.0,从而真正做到了免费开源!上面这个转变过程,我曾经写过一篇博客记录:不仅开源,而且对企业应用完全免费!ExtAspNet弃用GPLv2,拥抱ApacheLicense2.0 然而,在详细阅读了ExtJS的授权协议后,我发现FineUI并没有完全遵守ExtJS所指定的规则,先来看看ExtJS的对开源工具的制定的规则:ExtJSOpenSourceL...

Vue常用开源项目汇总

Vue常用开源项目汇总前言:Vue(读音/vjuː/,类似于 view)是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。易用(已经会了HTML,CSS,JavaScript 即可轻松上手)、灵活(简单小巧的核心,渐进式技术栈,足以应付任何规模的应用)、性能(17kbmin+gzip 运行大小、超快虚拟DOM、最省心的优化)、渐进式JavaScript 框架。Vue相关网站参考:  Vue中文网站:http://cn.vuejs.org/  Vuegithub开源地址:https://github.com/vuejs/vue  Vue.js专业中文社区:http://www.vue-js.com/  前端开发Vue相关:...

vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin

场景:.webpack2.4.*集成vue-loader@15.7.2报错原因:参考官方文档https://vue-loader.vuejs.org/migrating.html#a-plugin-is-now-requiredVue-loader在15.*之后的版本都是vue-loader的使用都是需要伴生VueLoaderPlugin的解决方法:在webpack.config.js中加入如下:varpath=require('path');constVueLoaderPlugin=require('vue-loader/lib/plugin');varExtractTextPlugin=require('extract-text-webpack-plugin');varconfig={//配置入口entry:{main:'./main'},//配置出口output:{//path用来存放打包后的文件输出目录,必填path:path.join(__dirname,'./dist'),//publicPath指定资源文件引用的目录publicPath:'/dist/',//filena...

vue的计算属性与方法的不同

vue的模板里可以使用表达式,但是它的设计初衷是用于简单计算,在模板中放入太多逻辑会让模板过重且难以维护。例如:<divid="example">{{message.split('').reverse().join('')}}</div>这里很难一眼看出是要显示什么,而且要多次使用的话也很麻烦,因此对于复杂逻辑应使用计算属性错误示例<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><!--开发环境版本,包含了有帮助的命令行警告--><scriptsrc="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script></head><body><divid="app"><p>{{message.split('').reverse().join('')}}</...

vue 中使用 watch 出现了如下的报错

vue中使用watch出现了如下的报错报错:Method"watch"hastype"object"inthecomponentdefinition.DidyoureferencethefunctionMethod"watch"hastype"object"inthecomponentdefinition.Didyoureferencethefunctioncorrectly?  原因:watch是一个对象,应该以键值对的形式来使用,但是我将watch放到了methods:{}中,导致了这个问题;  解决办法:将watch对象拿出来,与methods平级; ...

vue中methods函数调用methods函数写法

1exportdefault{2data(){3return{4hello:"你好"5}6},7methods:{8open(that){9that.hello="helloworld!"10},11close(){12this.$options.methods.open(this)13}14}15}close函数调用open函数,close函数里调用的open函数的参数this赋值给that,这样可以通过that调用到data中的hello。...

Vue内敛模板

在学习《Vue实战》一书时,学习到组件高级应用-内联模板这一小节时,照着书上的例子敲了一遍,发现未达到预期,切报错。书上源代码如下:1<!DOCTYPEhtml>2<html>3<head>4<metacharset=”utf-8”>5<title>内联模板</title>6<scriptsrc="../../vue.js"type="text/javascript"></script>7</head>8<body>9<divid="app"v-cloak>10Vue提供一个内联模板的功能,在使用组件时,给组件标签使用inline-template特性,组件就会把它的内容当作模板,而不是把它当作内容分发。11<child-componentinline-template>12<div>13<h2>在父组件中定义子组件的模板</h2>14<p>{{message}}</...
代码星球 代码星球·2020-03-29

vue自定义组件添加原生事件监听

  注:全局或局部注册的组件称为子组件,其中声明的组件名称(如下demo中的child)是一个自定义组件Demo1-直接给父组件添加事件监听1<!DOCTYPEhtml>2<html>3<head>4<metacharset="UTF-8">5<title></title>6<scriptsrc="../../vue.js"></script>7</head>8<body>9<divid="root"@click="handleClick">10Child11</div>12<script>13Vue.component('child',{14template:'<div>Child</div>'15})1617varvm=newVue({18el:'#root',19methods:{20handleClick:function(){21alert(1);22}23}24})25</script>...

vue 组件开发 props 验证

在Vue中父组件向子组件中传送数据是通过props实现的,一个简单的使用props的例子:1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title>VueStudy</title>6</head>7<body>89<divid="app">10<foo-component:foo-message="fooMessage"></foo-component>11</div>1213<scripttype="text/javascript"src="lib/vue.js"></script>14<scripttype="text/javascript">1516varfooComponent={17props:['fooMessage'],18template:'<div>{{fooMessage}}</div>'19};2021v...

Vue中子组件数据跟着父组件改变和父组件数据跟着子组件改变的方法

组件的代码1<template>2<divclass="home">3<imglogo"src="../assets/logo.png">4<!--<HelloWorldmsg="WelcometoYourVue.jsApp"/>-->5父组件的值<inputtype="text"v-model="parentVal">6<div>7<child-test:inputData="parentVal"></child-test>8</div>9</div>10</template>11<script>12//@isanaliasto/src13importHelloWorldfrom'@/components/HelloWorld.vue'14importChildTestfrom'@/components/child-test.vue'15exportdefault{16name:'home',17components:{18He...

表格变色示例中发现的问题——attr()与prop()

在练习jQuery表格变色例子过程中,发现了一下几个问题:在IEEdge浏览器中切换选中行会出现上一个表格行背景色被吃掉的情况;在chrome中从上向下单击行中任意单元可以选中该行,而从下往上单击虽选中了行,而前面的按钮列未显示选中状态针对以上问题,查阅了资料后,发现了原因,以及解决方法:为tbody设置border-collapse:collapse;方可解决吃色问题在引用jQuery版本是1.6之后的,设置radio的checked属性不应使用attr()方法,应使用prop()方法 在之前的jQuery版本中,都是使用attr()访问对象的属性,比如取一个图片的alt属性,就可以这样做$('#img').attr('alt');但是在某些时候,比如访问input的disabled属性时,会有些问题,在有些浏览器中,只要写了disable属性就可以,有些则要写:disabled="disabled"。所以,从1.6版本开始,jQuery使用新方法prop()获取以及设置这些属性,返回标准属性:true/false。按照官方说明,如果设置disabled和checked这些...

vue之使用cookie

vue资源库中有个插件很好用vue-cookiesgithub地址:https://github.com/cmp-cc/vue-cookies使用起来也很方便,将vue-cookies.js引入$cookies.config()设置默认值this.$cookies.config(expireTimes,path)expireTimes默认1dpath默认'/',$cookies.set()this.$cookies.set(key,value[,expireTimes[,path[,domain[,secure]]]])key:cookie名注意$cookieskeynamesCannotbesetto['expires','max-age','path','domain','secure']value:cookie值vue-cookie会自动帮你把对象转为jsonif(value&&value.constructor===Object){value=JSON.stringify(value)}expireTimes:cookie有效时间,默认时间为1d可以为到期时间点...
代码星球 代码星球·2020-03-28

vue中关于计算属性computed以及其中get、set的理解

在重学vue后,了解到这个计算属性,理解了一点点,但是又无法想到什么时候能用到------------计算属性是基于它们的响应式依赖进行缓存的------------get是基于其他的数据来获取到computed里定义的那个数据set是根据computed里定义的那个数据来改变其他的数据暂时就理解了这些,理解到新的会更改的,下面给个案例,关于全选的<html><head><title>vue5全选</title></head><style></style><body><divid="app"><ul><li><span><inputtype="checkbox"v-model="allcheck"/></span>全选</li><br/><liv-for="itemindatalist"><span><inputtype="checkbox"v-model="item...

vue2中使用this的问题

在回调函数中使用this时与微信小程序有一样的问题,在回调函数中使用this有时会不生效,保险起见,在回调函数使用this前,要把this赋给其他参数,如下例: ...
代码星球 代码星球·2020-03-28

vue2格式化时间戳

注意:时间戳分为10位和13位的,10位的是秒,13位的是毫秒这里给出的是格式化13位的方法,10位的时间戳可以加上3个0<divid="app">{{time|dataFormat('yyyy-MM-ddhh:mm:ss')}}</div>Vue.filter('dataFormat',function(value,fmt){letgetDate=newDate(value);leto={'M+':getDate.getMonth()+1,'d+':getDate.getDate(),'h+':getDate.getHours(),'m+':getDate.getMinutes(),'s+':getDate.getSeconds(),'q+':Math.floor((getDate.getMonth()+3)/3),'S':getDate.getMilliseconds()};if(/(y+)/.test(fmt)){fmt=fmt.replace(RegExp.$1,(getDate.getFullYear()+'').substr(4-RegExp.$1....
代码星球 代码星球·2020-03-28
首页上一页...153154155156157...下一页尾页