一、简单使用

①首先需要实例化vue:new 出来,注意Vue大小写

②通过el绑定元素:el 选项的作用就是告诉 Vue 管理模板的入口节点(不要绑定body和html)

③data:是响应式数据,就是数据驱动视图,当数据发生改变,那么所有绑定该数据的 DOM 都会跟着改变(MVVM)

    <div id="app">
<h1>{{ 1 + 1 }}</h1>
<h1>{{ 'hello' + 'world'}}</h1>
<h1>{{ foo }}</h1>
<div>
<span>{{foo}}</span>
</div>
<p>{{foo}}</p> </div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
var app=new Vue({
el:'#app',
data:{
foo:'bar'
}
});
</script>

④Vue可以通过示例实例化的vue访问和更改data里的数据

二、双向数据绑定

①v-model 是 Vue 提供的一个特殊的属性,在 Vue 中被称之为指令

    <div id="app">
<h1>{{ message }}</h1>
<h1>{{ message}}</h1>
<h1>{{ message }}</h1>
<div>
<span>{{message}}</span>
</div>
<p>{{message}}</p>
<input type="text" v-model="message">
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
var app=new Vue({
el:'#app',
data:{
message:'hello vuejs!!'
}
});
</script>

②它的作用就是:双向绑定表单控件,双向数据绑定是指当数据发生改变, DOM 会自动更新,当表单控件的值发生改变,数据也会自动得到更新

三、对比JavaScript原生DOM操作

①示例:姓名展示

    <div class="app">
姓: <input type="text" value="王" id="firstname"><br>
名: <input type="text" value="五" id="lastname">
<p id="fullname">王五</p>
</div>
<script>
var firstname=document.getElementById("firstname");
var lastname=document.getElementById("lastname");
var fullname=document.getElementById("fullname"); firstname.addEventListener("input",handleTextInput);
lastname.addEventListener("input",handleTextInput); function handleTextInput(){
fullname.innerHTML=firstname.value+lastname.value
}
</script>

②示例:点击数字自增

    <div id="app">
<input type="number" id="num" value="0">
<button id="btn">点击+1</button>
</div>
<script>
var btnobj=document.getElementById('btn');
var numobj=document.getElementById('num');
var number=numobj.value;
btnobj.onclick=function(){
number++;
document.getElementById('num').value=number;
}
</script>

③示例:简单加法计算器

    <input type="number" id="num1">+<input type="number" id="num2">
<button id="btn">=</button>
<strong id="ret">0</strong>
<script>
var num1obj=document.getElementById('num1');
var num2obj=document.getElementById('num2');
var btnobj=document.getElementById('btn');
var retobj=document.getElementById('ret');
btnobj.onclick=function(){
retobj.innerHTML=Number(num1obj.value)+Number(num2obj.value);
}
</script>

四、使用Vuejs进行操作

①示例:姓名展示

    <div id="app">
姓: <input type="text" v-model="firstname"><br>
名: <input type="text" v-model="lastname">
<p>{{firstname + lastname}}</p>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
firstname:'王',
lastname: '五',
}
});
</script>

②示例:点击数字自增

    <div id="app">
<input type="number" v-model="num">
<!-- v-on:click注册点击事件 -->
<button v-on:click="handleIncrement">点击+1</button>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
num:0
},
//方法写在methods里
methods:{
handleIncrement:function(){
//this是app,app可以访问data的变量num
this.num++;
}
}
});
</script>

③示例:简单加减乘除计算器

    <div id="app">
<input type="number" v-model="num1">+<input type="number" v-model="num2">
<button v-on:click="handlefun">=</button>
<strong>{{num3}}</strong>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
new Vue({
el:'#app',
data:{
num1:"0",
num2:'0',
num3:'0'
},
methods:{
handlefun:function(){
this.num3=Number(this.num1)+Number(this.num2);
}
}
});
</script>

五、结论

①vuejs的好处是不需要DOM操作(vue的内部已经处理有关DOM操作的部分),vue就像一个很高级的模板引擎

②vue先通过new实例化,通过el绑定一个管理程序入口,把页面需要操作的DOM,都通过数据绑定的方式来处理

③在vue中,通过模板绑定的数据都是响应式的,数据一旦变化,则绑定数据的视图元素也会改变

Vuejs基本使用的更多相关文章

  1. TODO:搭建Laravel VueJS SemanticUI

    TODO:搭建Laravel VueJS SemanticUI Laravel是一套简洁.优雅的PHP开发框架(PHP Web Framework).可以让你从面条一样杂乱的代码中解脱出来:它可以帮你 ...

  2. 一次页面从Jq到Vuejs+PartialView的迁徙

    题外话 本篇分享不能帮助你入门vue,入门的文章也是无意义的,官方文档http://cn.vuejs.org/v2/guide/ 已经写的不能再清晰了.希望我们勇敢的主动地给自己创造实践的机会. 手里 ...

  3. 使用vuejs框架进行列表渲染

    爱编程爱分享,原创文章,转载请注明出处,谢谢!http://www.cnblogs.com/fozero/p/6170706.html 1.通过Script引入Vuejs框架 <script t ...

  4. Vuejs学习笔记1

    首次写vue可能会出现:[Vue warn]: Cannot find element: #app 这是因为你的js在html页面头部引入的原因,自定义js文件要最后引入,因为要先有元素id,vue才 ...

  5. 【vuejs小项目——vuejs2.0版本】单页面搭建

    http://router.vuejs.org/zh-cn/essentials/nested-routes.html 使用嵌套路由开发,这里会出错主要把Vue.use(VueRouter);要进行引 ...

  6. 【vuejs小项目】一、脚手架搭建工作

    一.关于vuejs 这是一个MVVM的前端开发框架,model(数据).viewmode(通讯).view(视图),它吸取了reactjs和angularjs的长处,核心重点在于组件化的设计原则. 我 ...

  7. vuejs的动态过滤

    想要通过vuejs动态过滤(这里动态指得是过滤的条件是动态变化的), 一直没找到好办法, 最蠢的办法当然是两个两个数组,一个作为原始副本数组 一个作为视图数组,这样当过滤条件变化的时候 动态拷贝原始数 ...

  8. 使用 v-cloak 防止页面加载时出现 vuejs 的变量名

    使用 vuejs 做了一个简单的功能页面,逻辑是,页面加载后获取当前的经纬度,然后通过 ajax 从后台拉取附近的小区列表.但是 bug 出现了,在显示小区列表之前,会闪现小区名对应的 vuejs 变 ...

  9. vuejs里封装的和IOS,Android通信模块

    项目需要,在vuejs开发的web项目中与APP进行通信,实现原理和cordova一致.使用WebViewJavascriptBridge. 其实也是通过拦截url scheme,支持ios6往前的系 ...

  10. [Vuejs] 关于vue-router里面的subRoutes

    刚学习vue,可能有使用不对的地方,希望没有对大家造成困扰! 使用vue-router,为了能够更好的管理.vue文件,需要用到子路由. 先看个错误的例子 routers.js '/company': ...

随机推荐

  1. Oracle查询所有字段另加两个拼接字段的操作

    Oracle查询所有字段,再加两个字段拼接, select a.*,(SNO||SNAME) from TEST_STUDENT a; 同理,查询所有字段,其中两个字段求和:(SNO和SAGE都是NU ...

  2. LaTeX转义特殊符号

    转义字符在LaTeX中有一些符号被用于特殊的用途,如 \\      \backslash\ 符号被用于命令的转义,直接在LaTeX中输入这些符号是无法正确得到这些符号的,甚至会引起LaTeX的报错. ...

  3. Angular复习笔记6-依赖注入

    Angular复习笔记6-依赖注入 依赖注入(DependencyInjection)是Angular实现重要功能的一种设计模式.一个大型应用的开发通常会涉及很多组件和服务,这些组件和服务之间有着错综 ...

  4. python 面向对象编程、获取对象信息

    面向对象与面向过程 参考链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0 ...

  5. 【转载】C#通过InsertAt方法在DataTable特定位置插入一条数据

    在C#中的Datatable数据变量的操作过程中,可以通过DataTable变量的Rows属性的InsertAt方法往DataTable的指定位置行数位置插入一个新行数据,即往DataTable表格指 ...

  6. 4.Javascript中实现继承的几种方法及其优缺点

    要搞懂JS继承,我们首先要理解原型链:每一个实例对象都有一个__proto__属性(隐式原型),在js内部用来查找原型链:每一个构造函数都有prototype属性(显示原型),用来显示修改对象的原型, ...

  7. React 的setState 理解

    我们都知道在React中,setState() 方法是用来改变组件状态的,在项目中也一直用,也没有出现什么问题(使用方法太简单了),但今天看了一篇文章,提到了setState 使用时的两个注意点,加深 ...

  8. sizeof()计算

    本节包含sizeof()计算结构体,位域,数组,字符串,指针,c++中的class等类型的大小,sizeof()计算的大小都是以字节为单位. 一 计算基本类型的长度 sizeof(char): 1 s ...

  9. Spark ML协同过滤推荐算法

    一.简介 协同过滤算法[Collaborative Filtering Recommendation]算法是最经典.最常用的推荐算法.该算法通过分析用户兴趣,在用户群中找到指定用户的相似用户,综合这些 ...

  10. springboot+jndi+tomcat配置多数据源

    1.在application.properties中,添加jndi配置,如下图 2.新建dataSourceConfig类 3.dataSourceConfig类详细代码,这里只贴出其中一个,多个数据 ...