在没有任何前端框架之前,我们写代码,只能用原生的JS,进行数据的处理,DOM的操作,譬如对一个id 为txtName 的文本框进行赋值,我们是这样的 document.getElementById('txtName').value = '张三'。当然这还仅仅是针对通过id获取DOM ,现实开发中还有其它的各种操作,当然如果熟悉JS的话,其实写的代码性能也还不错。只不过用原生实现的代码比较多,开发起来慢啊,在这个时间就是金钱的年代,显然不是很好的方式。

基于原生实现不是很方便,就出来个Jquery框架了,他让我们少写很多代码,对很多操作都进行了封装简化,使我们开发起来快多了,譬如同样针对上面那个文本框赋值的功能,$('#txtName’).val('张三')。如果需要针对这个元素进行样式等改变,直接往后接着写就行了,不像原来用原生JS那样麻烦了。当然框架内部实现还是基于原生JS 这个是没办法改变的。

用Jquery开发了还多年,自己一直觉得已经挺快了,没有更好的方式了。但是总有一些牛逼的人物想更快,更好的方式,JQUERY操作DOM还是太慢了,还是得必须针对一个个DOM去操作,有没有那种数据变了,DOM也跟着变的。譬如还是上面的例子,张三 我现在又变成了李四了,我不需要找到DOM再赋值,直接文本框值就变成了李四呢。于是乎VUE框架诞生了。

<body>
<div id="app">
<input type="text" v-model="{{username}}" />
<input type="text" v-model="{{username}}" />
 </div> 
<script src="//unpkg.com/vue/dist/vue.js"></script>
</body>
<script type="text/javascript">
var vm = new Vue({
el: '#app',
data: {
username:'张三'
}
});
</script>

我们只要data中 username 值赋予张三,文本框那边绑定了username , 自动就值出来了,而且就算来2个文本框,也不用我们一个个去操作每个dom。此时我们如果姓名变了  username=‘李四’,那么两个文本框的值也变成李四了,神奇不?

当然这只是VUE其中一个方便之处,还有很多功能都大大简化了我们前端的开发,仔细看有点像我们服务器端ASP.NET一样,对页面绑定数据的时候 填一个变量名 <input type="text"  value="<%=username%>" />

为什么用VUE,而不用Jquery了?的更多相关文章

  1. JavaScript黑客是这样窃取比特币的,Vue开发者不用担心!

    如果你是JavaScript或者区块链开发者,如果你有关注区块链以及比特币,那么你应该听说了比特币钱包Copay被黑客攻击的事情.但是,你知道这是怎么回事吗? 总结 比特币钱包copay依赖event ...

  2. vue中引入jquery

    npm install jquery -S 在webpack.base.conf.js里加入 plugins: [ new webpack.optimize.CommonsChunkPlugin('c ...

  3. 如果不用jQuery,Ajax你还能写出多少?

    许久之前发过一篇关于Ajax的博客,通篇讲的都是通过jQuery编写Ajax,可能因为jQuery在这方面做的实在太好,以至于突然发现不用jQuery的话自己都模糊了Ajax的写法,这里重温一下. F ...

  4. 在vue中使用jquery

    首先默认你已经有了一个vue程序,如果你想在vue中使用jquery,那么请继续阅读. 当然,加入你没有一个vue程序,这里也给出创建一个vue程序的命令.当然,你肯定装了vue-cli,不然你不会点 ...

  5. 解决vue与传统jquery插件冲突

    比如基于jquery的select2插件,在vue下单独用有很多问题,其实对于这类插件,可以用vue的自定义指令和组件来包装,解决冲突的问题.引用官方vue1.0和2.0的两个例子,学习一下. 例子1 ...

  6. vue setTimeout用法 jquery滚动到某一个div的底部

    //vue 中setTimeOut用法 var $this = this; setTimeout(function(){ $this.goEnd() }, 10); goEnd:function(){ ...

  7. vue中引入jQuery和bootstrap

    一.引入jQuery: 首先在当前项目的根目录下(就是与package.json同目录),运行命令npm install jquery --save-dev   这样就将jquery安装到了这个项目中 ...

  8. Vue.js和jQuery混合使用的一点注意事项

    首先,Vue 的官方是不建议直接操作 DOM 的,其优势在于视图和数据的双向绑定,而且所有DOM操作都可以用Vue实现,反而使用jQuery来操作DOM的话,会造成不必要的麻烦,DOM未渲染完成之前事 ...

  9. Vue.js与Jquery的比较 谁与争锋 js风暴

    普遍认为jQuery是适合web初学者的起步工具.许多人甚至在学习jQuery之前,他们已经学习了一些轻量JavaScript知识.为什么?部分是因为jQuery的流行,但主要是源于经验开发人员的一个 ...

随机推荐

  1. linux系统调用函数---12

    Linux应用编程学习笔记                                 周学伟 一.系统调用文件编程   1.文件打开函数 /*************************** ...

  2. c#POST请求php接口

    POST请求php接口 /// <summary> /// 指定Post地址使用Get 方式获取全部字符串 /// </summary> /// <param name= ...

  3. c# new的三种用法

    在 C# 中,new 关键字可用作运算符.修饰符或约束. 1)new 运算符:用于创建对象和调用构造函数.这种大家都比较熟悉,没什么好说的了. 2)new 修饰符:在用作修饰符时,new 关键字可以显 ...

  4. C++ 默认构造函数小记

    #include <string> #include <map> using namespace std; class A { public: A(string name):n ...

  5. TCP三次握手原则

    “已失效的连接请求报文段”的产生在这样一种情况下: client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server. 本来这是一 ...

  6. RF-For循环使用

    场景1:

  7. informix中的时间计算

    今天看SUN服务器是的mail(vi   /var/mail/xxxuser),发现定时任务上的一些存储过程执行有错误,其中有一个错误是long transaction,长事务错误,到数据库一查,天哪 ...

  8. Ansible Playbook 使用变量

    如何在 Playbook 中定义并使用变量: vars: - user: "test" # 定义变量 tasks: - name: create user user: name=& ...

  9. thinkjs2.2中的定时任务

    暂且先讨论定时任务的其中两种实现方法: 1.setInterval() setInterval()可按照指定的周期(毫秒数计)来调用函数或者计算表达式: setInterval()方法会不停的调用该函 ...

  10. maven默认本地仓库目录

    C:\Users\${姓名}\.m2\repository\