Vue.js实现简单ToDoList 前期准备(一)_javascript技巧

一、前言

最近开始学习轻量级的mvvm框架Vue.js。就中文文档来说,算是很齐全了。之前本来在学习1.0版本,某日突然打开官网发现已更新为2.0。便把之后的都改为了2.0的语法。ps:如果恰好你是Vue的初学者的话,慕课网上有一个视频倒是可以去学习参考(我就是参考那个写了个ToDoList的小玩具,在这记录一下学习过程)。

二、开篇
mvvm框架是前端现在比较热门的话题,去拉勾网上转一圈,基本70%都有要求。所以不说虚的,只是为了多挣点钱,咱们也该跟上时代的步伐不是。推荐一篇博文‘http://www.cnblogs.com/xueduanyang/p/3601471.html',我觉得讲的挺透,辩证的看嘛。

废话多了,现在进入正文

/***************************************************************/

在这个todolist当中,一共需要的Vue.js点有:

1、创建Vue实例:Eg:

var vm=new Vue();

2、列表渲染:Eg:

 v-for="(item,index) in todo_items";

3、绑定事件:Eg:

 v-on:click="toogleFinishi(item,index)";

2.1 创建Vue实例

在官网中使用了如下的方法来创建一个实例

<div id="app">{{ message }}</div>
var app = new Vue({

 el: '#app',

 data: {

 message: 'Hello Vue!'

 }

})

在这里,这个app这个变量就是我们使用构造函数new Vue()构造的一个实例,它是一个对象。那么我们对这个实例的操作就可以看为是对一个对象进行操作。

我们现在来取一下app的message值。

首先,取data:app.$data。(Vue 实例观察的数据对象。Vue 实例代理了对其 data 对象属性的访问)

然后,取message:app.$data.message。

通过这个方法我们就可以取到实例中我们想要的属性值。

Eg:

vm = new Vue({
el : 'test',
data : {
msg : ' app.$data.message '
}
})

可以进行实例间的相互传至。

2.2列表循环

我们不需要再像原生js一样使用for()循环来渲染一个动态列表,

直接使用:v-for="item in items"来进行渲染。类似于原生中for in的循环方法

<div v-for="item in items">

 {{ item.text }}

 </div>

2.3事件绑定

在JQ中我们常常使用$().on('click',function(){});来进行点击事件绑定。

在Vue中我们使用v-on:click="doSometing('a','b')";来绑定。
Eg:
<button v-on:click="doThis"></button>

有了这3点,就可以开始编写这个简单的ToDoList了。

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索vue.js
todolist
vue todolist、vue.js todolist、vuejs todolist、vue实现todolist、javascript todolist,以便于您获取更多的相关知识。

时间: 2024-09-24 04:11:10

Vue.js实现简单ToDoList 前期准备(一)_javascript技巧的相关文章

Vue.js 和 MVVM 的注意事项_javascript技巧

MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 View Model 的双向数据绑定,这使得View Model的状态改变可以自动传递给 View,这就是所谓的数据双向绑定. Vue.js 是一个提供 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层.它的核心是 MVVM 中的 VM,也就是 ViewModel.ViewModel负责连接 View 和 Model,保证视图和数据的一致性,这种轻

vue.js入门教程之计算属性_javascript技巧

前言 计算属性是用来声明式的描述一个值依赖了其它的值.当你在模板里把数据绑定到一个计算属性上时,Vue 会在其依赖的任何值导致该计算属性改变时更新 DOM.这个功能非常强大,它可以让你的代码更加声明式.数据驱动并且易于维护. 模板中表达式非常便利,但是它们实际上只用于简单的操作. 模板是为了描述视图的结构,在模板中放入太多的逻辑会让模板过重且难以维护. 这就是为什么 Vue.js 将绑定表达式限制为一个表达式, 如果需要多于一个表达式的逻辑,应当使用计算属性. 来看这一个简单的例子 <div i

Vue.JS入门教程之列表渲染_javascript技巧

你可以使用 v-repeat 指令来基于 ViewModel 上的对象数组渲染列表.对于数组中的每个对象,该指令将创建一个以该对象作为其 $data 对象的子 Vue 实例.这些子实例继承父实例的数据作用域,因此在重复的模板元素中你既可以访问子实例的属性,也可以访问父实例的属性.此外,你还可以通过 $index 属性来获取当前实例对应的数组索引. <ul id="demo"> <li v-repeat="items" class="ite

Vue.js 父子组件通讯开发实例_javascript技巧

vue.js,是一个构建数据驱动的 web 界面的库.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.(这是官方的一个解释!) 小编没使用过angularjs,也没使用过react.js,不能详细的说明三者的区别,想了解的话,在官方有一个分析,请点这里查看 小编从业前端开发也有了一年多的时间,刚开始的时候,前端开发展现的技术太多,小编有心无力,兼顾不过来,经过了解之后,还是选择了学原生js基础兼并jquery的学习上路.小编使用vue.js,也是因为业务的需求

前端框架Vue.js中Directive知识详解_javascript技巧

Directive 看上去虽然和Angular中的定义类似,Directive 都是对DOM功能的一种拓展,但是 Vue 的 Directive 要弱的多.因为 Vue Component 其实本来就会包含对DOM的操作,所以大多数时候我们写一个通用组件都是一个Component 而不是一个 Directive,而 在 Angular 我们写一个通用的组件一般都是一个 Directive . 所以我说 Vue 的 Directive 相比于 Angular 要弱的多,也可以说纯粹的多,他就是对

关于vue.js弹窗组件的知识点总结_javascript技巧

首先在开发时需要考虑以下三点:      1.进入和弹出的动画效果.      2.z-index 的控制      3.overlay 遮盖层 关于动画 vue 对于动画的处理相对简单,给组件加入css transition 动画即可 <template> <div class="modal" transition="modal-scale"> <!--省略其它内容--> </div> </template&g

webpack+vue.js实现组件化详解_javascript技巧

简介 在vue中实现组件化用到了vue特有的文件格式.vue,在每一个.vue文件就是一个组件,在组件中我们将html,css,js全部写入,然后在webpack中配置vue-loader就可以了. 建立vue组件 在src目录下建立components文件夹,并在其中建立app.vue文件,这样我们项目的目录结构如下: |--dist //webpack打包后生成的文件夹 | |--build.js |--node_modules //项目的依赖所在的文件夹 |--src //文件入口 | |

Vue.js组件使用开发实例教程_javascript技巧

组件 组件可以扩展HTML元素,封装可重用的代码,在较高的层面上,组件是自定义元素,vue.js的编译器为它添加特殊功能,在有些情况下,组件也可以是原生HTML元素的形式,以is特性扩展. Vue.js的组件可以理解为预先定义好了行为的ViewModel类.一个组件可以预定义很多选项,但最核心的是以下几个: 模板(template):模板声明了数据和最终展现给用户的DOM之间的映射关系. 初始数据(data):一个组件的初始数据状态.对于可复用的组件来说,这通常是私有的状态. 接受的外部参数(p

Vue.js实现拖放效果的实例_javascript技巧

页面效果如下所示: 代码请看这里,当当当当: html: <template> <div class='drag-content'> <div class='project-content'> <div class='select-item' draggable='true' @dragstart='drag($event)' v-for='pjdt in projectdatas'>{{pjdt.name}}</div> </div>