04慕课网《vue.js2.5入门》——Vue-cli开发todolist

主要文件目录:

文件代码:

根实例,初始化vue:

<!--index.html,网站入口页面,和main.jsp组成一套.vue文件,包含-->
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>todolist</title>
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>
// main.js
import Vue from ‘vue‘
import TodoList from ‘./TodolList‘  //引用第一个父组件
//import router from ‘./router‘

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: ‘#app‘,  //根节点,挂载点
  //router,
  components: { TodoList },  //组件
  template: ‘<TodoList/>‘    //模板就是组件
})

第一个.vue模板文件,是第一个父组件

<!--TodoItem.vue-->
<template>
  <div>
    <div>
      <input v-model="inputValue"/>
      <button @click="handleSubmit">提交</button>
    </div>
    <ul>
      <todo-item
        v-for="(item,index) of list"
        :key="index"
        :content="item"
        :index="index"
        @delete="handleDelete"
      ></todo-item>
    </ul>
  </div>
</template>

<script>
  import TodoItem from ‘./components/TodoItem‘  //引用子组件

  export default {
    components: {
      ‘todo-item‘: TodoItem
    },
    //在vue-cli中data是一个函数
    // data: function () {
    //   return {
    //     inputValue: ‘‘,
    //   }
    // },
    //ES6中的简写
    data() {
      return {
        inputValue: ‘‘,
        list: []
      }
    },
    methods: {
      handleSubmit() {
        this.list.push(this.inputValue)
        this.inputValue = ‘‘
      },
      handleDelete(index) {
        this.list.splice(index, 1)
      }

    }

  }
</script>

<style>

</style>

第二个.vue模板文件,是父组件下的一个子组件

<!--TodoItem-->
<template>
  <li @click="handleDelete">{{content}}</li>
</template>

<script>
  export default {
    props: [‘content‘, ‘index‘],
    methods: {
      handleDelete() {
        this.$emit(‘delete‘, this.index)
      }
    }

  }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>

页面输出:

可以对照02慕课网《vue.js2.5入门》——Vue中的组件 的todolist实现

原文地址:https://www.cnblogs.com/-beauTiFul/p/9085866.html

时间: 2024-11-05 15:50:43

04慕课网《vue.js2.5入门》——Vue-cli开发todolist的相关文章

Vue -- ES6 快速入门,Vue初识

一.ES6快速入门 let和const let ES6新增了let命令,用于声明变量.其用法类似var,但是声明的变量只在let命令所在的代码块内有效. { let x = 10; var y = 20; } x // ReferenceError: x is not defined y // 20 效果如下: var声明变量存在变量提升.也就是在声明变量之前就可以使用该变量. console.log(x) // undefined,var声明变量之前可以使用该变量 var x = 10; 刷新

01慕课网《vue.js2.5入门》——Vue中的组件

TodoList功能开发 <body> <div id="root"> <div> <input v-model="inputValue"/> <button @click="handleSubmit">提交</button> <ul> <li v-for="(item,index) of list" :key="index&q

04慕课网《进击Node.js基础(一)》HTTP讲解

HTTP:通信协议 流程概述: http客户端发起请求,创建端口默认8080 http服务器在端口监听客户端请求 http服务器向客户端返回状态和内容 稍微详细解析: 1.域名解析:浏览器搜素自身的DNS缓冲,查看是否有被请求的域名所定义的IP,缓冲1分钟 ## 谷歌浏览器输入:chrome://net-internals/#dns 2.搜索操作系统自身的DNS缓冲(浏览器无缓冲或失效) 3.读取本地的HOST文件 C:\Windows\System32\drivers\etc 4.浏览器发起

2018年慕课网视频教程(vue、react,docker、python、java、Go语言)

如需下述哪一个课程,加QQ: 3475362830,非免费,几大洋,非诚勿扰! Go语言实战流媒体视频网站基于Golang协程实现流量统计系统Google资深工程师深度讲解Go语言 java深入微服务原理改造×××销售平台BAT大牛亲授 基于ElasticSearch的搜房网实战java企业级电商项目架构演进之路Tomcat集群与Redis分布式Spring Boot企业微信点餐系统Java开发企业级权限管理系统SSM到Spring Boot-从零开发校园商铺平台Spring Security开

Vue.js新手入门指南

最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己的结业项目. 在做的过程中也对Vue.js的官方文档以及其各种特性有了许多认识.作为一个之前以PHP+模版引擎为主的开发,从一个从未接触过除HTML+CSS+JavaScript+JQuery以外的前端技术的人到现在可以独立使用Vue.js以及各种附属的UI库来开发项目,我总结了一些知识和经验

【vue.js】入门

慕课网视频学习笔记:http://www.imooc.com/learn/694 1.将html.js.css写到一个后缀名.vue的文件中,区分这三种类型是通过<template>.<script>.<style>来区分,这个.vue文件在打包的过程中会被转换成浏览器能识别的传统html.js.css. 2.使用vue.js官方提供的命令行工具,可以让我们把关注点放在项目功能的实现上. 3.需要安装依赖(cnpm install),可进入package.json中查看

webpack -&gt; vue Component 从入门到放弃(二)

Foreword 上一篇简单介绍了webpack的打包功能,应该说是比较无意义的打包,对于开发人员来说,这种效率是非常低的.所以我们来点升华. First Step 我们给第一篇例子中加个样式文件我们 style.css body { background: yellow; } 然后修改 entry.js require("!style-loader!css-loader!./style.css") // 载入 style.css document.getElementById('ap

Vue学习笔记入门篇——组件的使用

本文为转载,原文:Vue学习笔记入门篇--组件的使用 组件定义 组件 (Component) 是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 组件使用 注册 注册一个全局组件,你可以使用 Vue.component(tagName, options).组件在注册之后,便可以在父实例的模块中以自定义元素 的形式使用.

Vue学习笔记入门篇——组件的内容分发(slot)

本文为转载,原文:Vue学习笔记入门篇--组件的内容分发(slot) 介绍 为了让组件可以组合,我们需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 "transclusion" 如果你熟悉 Angular).Vue.js 实现了一个内容分发 API,使用特殊的 'slot' 元素作为原始内容的插槽. 编译作用域 在深入内容分发 API 之前,我们先明确内容在哪个作用域里编译.假定模板为: <child-component> {{ messa