Vue的基本认识与使用
什么是Vue?
Vue是一个渐进式的js框架,采用的是MVVM模式的双向绑定,
Vue的使用
引入vue
<script src="vuejs/vue.js"></script>
1.1 路径(相对路径)
1.2 vue.js[开发版,可以看源码]/vue.min.js[体积小,加载速度快]
2.准备vue的工作台(挂载点)
<div id="app"> {{message}} {{say()}}</div>
3.准备数据(创建vue对象)
3.1 el:元素的挂载(id,class,标签:建议使用id),只有挂载的元素才能使用表达式这些
3.2 data:数据(vue对象的所有数据都写在这里)
3.3 methods:vue对象的方法(可以有多个)
this指的就是这个vue对象,js与表达式中都可以调用这个方法
var app = new Vue({
el:"#app",
data:{
message:"你好啊"
},
methods:{
say(){
return this.message+",xxxx";
}
}
})
Vue双向绑定
双向绑定就是指,当view中的值发生 变化时通过监听到后会将model中的值也做出同样的改变,当model中的值发生改变时通过绑定数据,也会u改变view中的值
Vue表达式
Vue的表达式和js中的 表达式写法和用法差不多
Vue指令
v-text:直接展示
v-html:直接展示(但是可以解析html标签)
v-for:循环(数组,对象,数字,字符串)
v:值 i:下标 k:属性名
v-for="(v,i) in 数组"
v-for="(v,k,i) in 对象"
v-show:将数据给隐藏掉,
v-if:判断条件是否成立,当不成立时那么代码将被隐藏掉
v-else-if=""
v-else
v-bind:绑定属性(属性中使用vue的表达式)
标准写法: <img v-bind:src="src" />
简写形式(建议): <img :src="src" />
绑定对象属性: <img v-bind="img" />
<div id="sh">
<!--
bind就是将标签中的属性赋值从Vue中取值出来进行绑定
有三种方法,第一种
<img v-bind:src="src">
第二种 <img :src="src">
第三种 <img v-bind="img" >这个方式就是将数据种所有信息全部读取出来
-->
<img :src="src" :alt="alt"> </div> </body>
<script>
new Vue({
el:"#sh",
data:{
src:"/ind/a.jpg",
alt:"没有图片"
}
})
for循环和bing组合案例
<div id="aa">
<table border="1px">
<tr v-for="u in user">
<td>{{u.id}}</td>
<td>{{u.name}}</td>
<td>{{u.age}}</td>
<td>{{u.sex? "男":"女"}}</td>
<td>{{u.dept.name}}</td>
</tr>
</table>
<!--for循环遍历这个数组-->
<ul v-for="h in hobby">
<li>{{h}}</li>
</ul>
</div> </body>
<script>
new Vue({
el:"#aa",
data:{ user:[
{id:1,name:"燕人张飞",age:30,sex:true,dept:{name:"蜀"}},
{id:2,name:"常山子龙",age:24,sex:true,dept:{name:"蜀"}},
{id:3,name:"枭雄曹操",age:18,sex:true,dept:{name:"魏"}}, ],
hobby:["一尺","一桌","一堂木而"]
}
})
v-model:双向绑定(只能用到input,select,textarea中)
v-on:事件绑定
<input type="button" v-on:click="say()" />
<input type="button" v-on:click="say" />
简写形式:
<input type="button" @click="say" />
组件(自定义标签)
注意事项
1.先定义组件,再挂载
2.组件的模板必需要一个根标签
3.命名如果是驼峰(建议小写) myTag -> <my-tag>
全局组件:
Vue.component("mytag",{
//组合的模板
template:"<h1>假如有一千句html</h1>"
})
局部组件:
new Vue({
el:"#app",
//组件(多个)
components:{
mytag:{
template:"<h2>我是局部组件</h2>"
}
}
})
Vue的基本认识与使用的更多相关文章
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- Vue + Webpack + Vue-loader 系列教程(2)相关配置篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...
- Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...
- 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库
应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...
- Vue.js 2.0 和 React、Augular等其他框架的全方位对比
引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...
- 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?
引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...
- 初探Vue
Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...
随机推荐
- Halcon中二维码解析函数解码率和时长的优化方法
Halcon中条码解析函数包容多种条码类型且简单强大.现有的‘Data Matrix ECC 200’.‘QR Code’和‘PDF417’等广泛使用的条码均能解析.简单是通过默认参数即可对多种条码进 ...
- 迷你MVVM框架 avalonjs 沉思录 第2节 DOM操作的三大问题
jQuery之所以击败Prototype.js,是因为它自一开始就了解这三大问题,并提出完善的解决方案. 第一个问题,DOM什么时候可用.JS不像C那样有一个main函数,里面的逻辑不分主次.但JS是 ...
- C# 6.0可能的新特性及C#发展历程[转]
C# 6.0可能的新特性及C#发展历程[转] 年10月份发布了,对应的是.Net Franework 4.5.1. 或者3年,更新增加的东西会比较多,所以对于C# 6.0,还是有一些期待的. 下面 ...
- MVC各层的职责
Model(模型):模型代表着核心的业务逻辑和数据(不要理解成Model只是实体类) View(视图):视图应该关注与如何展示数据,而不应该包含任何业务逻辑(业务逻辑应写在Model中) Contro ...
- css常用属性总结:颜色和单位
在css代码编写中,估计颜色和单位是必不可少的,然而在css中关于颜色和单位值的写法有很多种写法,所以有必要把它弄清楚. 颜色 当初我在初学前端的时候,就会冒出一个疑问“我该如何设置网页颜色?”,一般 ...
- Display file information in the document window
[Display file information in the document window] The status bar is located at the bottom of every d ...
- protobuf's extension
[protobuf's extension] extension允许第三方扩展协议,开发方需要像下面这样定义: 扩展方需要像下面这样扩展: 使用的时候必须用SetExtension方法: 参考:htt ...
- Linux下MariaDB 安装及root密码设置(修改)
根据官方说明在/etc/yum.repo.d/下添加repo: # MariaDB 10.2 Fedora repository list - created 2017-11-25 05:55 UTC ...
- Ice_cream’s world II(最小树形图,加虚点)
Ice_cream’s world II http://acm.hdu.edu.cn/showproblem.php?pid=2121 Time Limit: 3000/1000 MS (Java/O ...
- mybatis使用foreach进行批量插入和删除操作
一.批量插入 1.mapper层 int insertBatchRoleUser(@Param("lists") List<RoleUser> lists);//@Pa ...