Vue.js实例练习
最近学习Vue.js感觉跟不上节奏了,Vue.js用起来很方便。
主要实现功能,能添加书的内容和删除。(用的Bootstrap的样式)demo链接
标题用了自定义组件,代码如下:
components: {
'my-title': {
template: '<h1 v-text="title"></h1>',
data: function () {
return {
title: 'Vue.js 实例练习 Bootstrap样式'
}
}
}
}
增加书的内容和表格用的都是指令+列表渲染,vue.js构造单页面应用确实很方便。
Vue.js提供的指令很快的渲染想要的内容。这里主要用了v-for嵌套使用。
v-for还包含2个特殊变量:$index,$key。能遍历数组和对象。 全部代码如下:
<!DOCTYPE html>
<html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title> </head>
<body>
<style>
#app {
width: 990px;
padding: 0 15px;
margin: 0 auto;
}
</style>
<div id="app">
<my-title></my-title>
<div id="divTblBook">
<table class="table table-hover">
<thead>
<tr>
<th v-for="b in bookShow">{{ b }}</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="item in books">
<td v-for="b in item">{{ item[$key] }}
</td>
<td>
<button class="btn btn-primary" v-on:click="delBook(item)">删除</button>
</td>
</tr>
</tbody>
</table>
</div>
<div id="divAddBook">
<p>添加书籍</p>
<div v-for="b in bookShow">
<div class="form-group">
<label>{{ b }}</label>
<input type="text" class="form-control" v-model="book[$key]">
</div>
</div>
<button class="btn btn-primary" v-on:click="addBook()">添加</button>
</div>
</div>
<link href="http://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css" rel="stylesheet" />
<script src="http://apps.bdimg.com/libs/vue/1.0.14/vue.js"></script>
<script>
var vm = new Vue({
el: "#app",
components: {
'my-title': {
template: '<h1 v-text="title"></h1>',
data: function () {
return {
title: 'Vue.js 实例练习 Bootstrap样式'
}
}
}
},
data: {
books: [{
author: '曹雪芹',
name: '红楼梦',
price: 32.0
}, {
author: '施耐庵',
name: '水浒传',
price: 30.0
}, {
author: '罗贯中',
name: '三国演义',
price: 24.0
}, {
author: '吴承恩',
name: '西游记',
price: 20.0
}],
book: {
Name: '',
Author: '',
price: ''
},
bookShow: {
Name: "书名",
Author: "作者",
price: "价格"
}
},
methods: {
addBook: function () {
this.books.push(this.book);
this.book = "";
},
delBook: function (book) {
this.books.$remove(book);
}
}
})
</script>
</body>
</html>
Vue.js实例练习的更多相关文章
- Vue.js实例
构造器 每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例 启动的: var vm = new Vue({ // 选项 })
- vue.js实例对象+组件树
vue的实例对象 首先用js的new关键字实例化一个vue el: vue组件或对象装载在页面的位置,可通过id或class或标签名 template: 装载的内容.HTML代码/包含指令或者其他组件 ...
- vue.js应用开发笔记
看vue.js有几天了,之前也零零散散的瞅过,不过一直没有动手去写过demo,这几天后台事比较少,一直在讨论各种需求(其实公司对需求还是比较重视与严谨的,一个项目需求讨论就差不多一周了,这要搁之前,天 ...
- 用Vue.js开发微信小程序:开源框架mpvue解析
前言 mpvue 是一款使用 Vue.js 开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程 ...
- Vue.js 2.x笔记:基本语法(2)
1. Vue实例及选项 1.1 创建Vue实例(new Vue instance) 每个Vue Application必须创建一个root Vue Instance. <script> v ...
- Vue.js和angular.js区别
Vue.js:易学 简单 指令以v.xxx 一片HTML代码配合json,在new出来Vue,js实例 个人维护项目 适用于移动端 应用超越了angular angular.js:上手难 指令以ng. ...
- vue.js学习总结
下面使用的命令工具为git bash 使用命令行工具搭建vue.js项目 vue.js官网命令行工具安装 为了提升安装速度,建议将 npm 的注册表源设置为国内的镜像 1.输入命令:npm insta ...
- Vue.js教程—1.介绍和安装
Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.Vue 只关注视图层, 采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定 ...
- Vue.JS学习基础
= 导航 顶部 vue.js介绍 vue.js实例 模板语法 计算属性 样式绑定 条件渲染 列表渲染 事件处理器 表单控件绑定 组件 顶部 vue.js介绍 vue.js实例 模板语法 计 ...
随机推荐
- Eclipse中用User Library管理jar包
目的:为了更方便的管理jar包,而不是一股脑儿的将引用的jar包全部放在Web App Library下. 管理和配置: 第一步:管理 新建Library并引入项目中 右键项目->Build P ...
- Memcache技术分享:介绍、使用、存储、算法、优化、命中率
1.memcached 介绍 1.1 memcached 是什么? memcached 是以LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发 ...
- cPanel设置自定义404错误页
利用这个cpanel的错误页工具,你就可以定制错误页面了.设置自定义404错误页,有两种简单的方法. 一,利用cpanel后台控制面板添加设置404自定义错误页的方法 步骤 1.登录cPa ...
- node socket onmessage
<script src="//cdn.sockjs.org/sockjs-0.3.min.js"></script> <script> var ...
- space ship
按下向上箭头,飞船速度不是一直增加 而且飞船移动的方向是固定的不是有角度的 按下箭头飞船可以飞了,但是不减速 加一个keyup handler就可以啦!可以一直加速,不按的时候也可以减速 按下向下按钮 ...
- url如何传递参数
$(document).ready(function() { var name=getQueryString('minename'); if (name != null && name ...
- 【转】简单的虚拟摇杆控制移动(NGUI)
http://www.cnblogs.com/zhangbaochong/p/4928688.html 一.用NGUI创建虚拟摇杆贴图 先创建一个sprite作为背景叫做JoyStick 并添加一个B ...
- C# easyui datagrid 复选框填充。
具体效果如下: 首页
- SecureCRT SSH VMware Ubuntu
Ubuntu 10.4 装完后网络OK. NAT模式下, 可以上网. 宿主机和客户机可以彼此ping通. 主要是检查SSH服务, 和防火墙是否关闭(UBUNTU 默认没有安装SSH, 默认启动了防火墙 ...
- php动态读取数据清除最右边距
需求效果一行3栏: 场景模拟:同事给了我这么一段静态代码如下: <!DOCTYPE html> <html lang="en"> <head> ...