一、简单使用

①首先需要实例化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. Entity Framework 学习系列(3) - MySql Code First 开发方式+数据迁移

    目录 # 写在前面 一.开发环境 二.创建项目 三.安装程序包 四.创建模型 五.连接字符串 六.编辑程序 七.数据迁移 写在最后 # 写在前面 这几天,一直都在学习Entity Framework ...

  2. c# Windows服务管理

    .NET Framework中提供的类库可以很方便的实现对windows服务的安装.卸载.启动.停止.获取运行状态等功能.这些类都在System.ServiceProcess命名空间下. 所以,在开始 ...

  3. Smack Extensions用户手册

    Smack Extensions用户手册 XMPP协议包括基本协议和许多可选扩展,通常记录为“XEP”.Smack为核心XMPP协议提供了org.jivesoftware.smack包,为许多协议扩展 ...

  4. kvm第一章--概念

  5. 关于vscode自动跳转回车的解决方法(关闭vscode自动保存功能;可能和其他插件有冲突)

    关于vscode自动跳转回车的解决方法(关闭vscode自动保存功能:可能和其他插件有冲突)

  6. 关于DataX

    1. 关于DataX 1.1. 前言 为什么写这篇文章,因为初出茅庐的时候,曾经遇到的一个面试官就是DataX的作者之一,而当时我还偏偏因为业务需求做了个数据库的同步工具,我当时不知道他做过这么专业的 ...

  7. Beego 学习笔记三:Beego业务逻辑

    1>     打开main.go文件,查看代码 点击快捷键F12,进入beego.go文件,查看代码 2>     打开router.go文件,查看路由 3>     打开defau ...

  8. DataPipeline数据融合重磅功能丨一对多实时分发、批量读取模式

    为能更好地服务用户,DataPipeline最新版本支持: 1. 一个数据源数据同时分发(实时或定时)到多个目的地: 2.  提升Hive的使用场景: 写入Hive目的地时,支持选择任意目标表字段作为 ...

  9. 面试题:什么叫平衡二叉查找树--AVL树

    查找.插入和删除在平均和最坏情况下都是O(log n) 增加和删除可能需要通过一次或多次树旋转来重新平衡这个树 节点的平衡因子是它的左子树的高度减去它的右子树的高度.带有平衡因子 1.0 或 -1 的 ...

  10. Easy2game使用

    每个独享IP服务器,开设3-5个高速接口IP,用户可自行选择当地连接速度快的接口接入服务器,服务器再为用户自动分配所绑定的独享IP连接至游戏服务器,可保证连接的稳定性,统一性 打开软件 添加程序 服务 ...