vue的中文文档在这里

1. 简单地引用vue.js

使用vue框架最简单的方式就是写一个HTML页面然后引用vue.js啦. 使用<script> 标签就可以将vue.js导入并且使用它来构建vue app了.

这种方法是官方建议的, 像我这种新手当然也是使用这种方案的啦.

记录一些vue的模板语法

相关链接

  • {{}} 双大括号绑定内容(类似于innerHtml )
  • v-bind 绑定属性 (el: v-bind:style="variable")
  • v-on 绑定事件 (el: v-on:click="onClick")
  • v-if 条件渲染 (el: v-if="bool")
<ul id="example">
<li v-for="(item, index) in items">{{ index }} - {{ item.message }}
</li>
</ul>

v-model 输入数据绑定

<input v-model="model">
<p>Message is: {{ model }}</p>

创建vue-app实例

如果要使用vue的”插值语法”和vue的种种api, 则必须在HTML的js代码中建立vue实例. 
模板如下:

var app = new Vue({
el: '#app', //vue实例的承载元素
data: {}, //数据
method: {}, //方法
computed: {}, //计算属性. 当插值时使用的数据需要过于繁琐的计算时, 使用计算属性.
/*
生命周期钩子, 详见vue的文档
*/
});

生命周期函数钩子

2.使用vue-cli构建

vue-cli是个node的模块, 所以想要使用vue-cli, 首先需要配置node运行环境, 然后再使用npm安装vue-cli.

1. vue-cli构建vue-app的流程

  1. 使用内置的模板构建vue-app的项目 
    vue init webpack project-name
  2. 按需修改项目的详细信息
  3. 使用npm安装依赖 
    npm install --sava
  4. 项目开发码代码
  5. 测试 
    vue run dev
  6. 使用webpack打包项目 
    webpack

2. vue-app项目目录简要分析

  • index.html ———项目主页入口, vue-app实例的承载元素就在这里定义
  • src/ ——————项目的源码文件目录, 为项目写的所有的组件/js等代码都在这里
  • src/main.js ——-app的入口文件, 它将App.vue作为模板, 以index.html中的承载元素初始化Vue-app实例.
  • src/APP.vue ——app实例的主模板文件, 是整个vue-app最外层的总框架
  • src/components—模板目录, 原则上应该将所有的component都放在这里
  • src/assets ————不需要编译的资源放在这里
  • src/router —————路由目录. 如果初始化app时选择了route, 则会有此目录
  • src/router/index.js —路由配置文件. 在这里指定单页面应用的页面跳转
  • build/ —————webpack的配置文件就在这里, 记录了app的构建规则 webpack入门

3. vue模板

1. 模板的模板
<template>
<!--HTML代码-->
</template> <script>
//Javascript代码
</script> <style scoped>
//CSS代码, 使用scoped属性能将这段style代码限制在此组件内部而不会影响外部
</style>
2. 组件的构造方法

在node中, 一个js文件就是一个模块, 使用 import 导入模块而使用 export 导出模块. 在vue中, 一个vue文件即包含了这个组件的view和controller, 而对于javascript来说, 这个vue文件就是一个js模块. 因此, 应该使用export 导出这个组件的对象实例, 这样才能在外部导入这个组件. 
构造一个对象的实例和构造一个vue实例是类似的, 都 需要指定html中的"承载元素"和 data等等属性.

export default {
el:'#component',
data: function(){
return somedData; //注意, 一个组件的data应该是一个函数对象并且使用return返回data对象
}
method: function(){} //somefunction
}
3. 组件间的数据传递

父组件->子组件

  父组件传数据给子组件需要两步操作

  •   在子组件中声明需要的数据并完成view和model的绑定;
  •   父组件中将数据传给子组件
//子组件:
<template>
<div>
<div>{{someText}}</div>
<div v-bind:style="{color : colorCode}">This font-color should be setted by parent</div>
</div>
</template>
<script>
export default {
data(){
return {
someText: "text"
}
}
props: {
colorCode: String //使用props声明子组件需要的数据(属性), msg是属性的"name", String用来指定msg值的类型
}
}
</script> //父组件:
<template>
<div>
<child v-bind:colorCode="#00aaff"></child>
</div>
</template>
<script>
export default {
data: ()=>{},
component:{
child: require('componenets/child.vue')
}
}
</script>

子组件->父组件

  子组件传递数据给父组件可以有多种操作.

  •   子组件使用将数据封装到组件实例并使用 export 导出
  •   子组件使用”事件发射器(emit)”以”事件”的方式传给父组件
4. 组件间的事件传递
子组件捕获事件, 子组件处理
父组件捕获事件, 父组件处理
子组件捕获事件, 父组件处理
父组件捕获事件, 子组件处理

前两种的事件处理直接在script里将事件”消费”掉即可; 而后两种则需要使用不同的方式分别处理.

- 子组件到父组件

使用”事件发射器(emit)”, 子组件捕获事件并将其”发射”给父组件, 由父组件处理

- 父组件到子组件

在 vue 1 中, 有 dispatch() 和 broadcast() 将父组件的事件分发给子组件, 而在 vue 2 中, 上述两个方法已经被弃用, 取而代之的是状态管理层Vuex. 详见

//子组件
<template>
<div>
<input type="text" v-model="msg" v-on:change="onInput">
</div>
</template>
<script>
export default{
data(){
return {
msg: '请输入值'
}
},
methods: {
onInput: function () {
if (this.msg.trim()) {
this.$emit('customedEvent', this.msg); //第一个参数是"发射"给父组件的事件名称, 第二个参数是事件的附加参数.
}
}
}
}
</script>
//父组件
<template>
<div>
<child v-on:customedEvent="recieveMessage"></child>
</div>
</template>
<script>
export default{
components: {
child: require('components/child.vue'),
},
methods: {
recieveMessage: function (text) {
alert(text);
}
}
}
</script>

注意事项

1. 每一个组件的最外层只能有一个根元素(template不是一个元素)

vue-app开发入门的更多相关文章

  1. HTML5手机APP开发入门(2)

    HTML5手机APP开发入门(2) 课程内容 使用IonicFramework v2 + angular 2 完成一个简单的联系人列表的操作,有三个页面: ListPage,DetailPage,Ad ...

  2. HTML5手机APP开发入门(1)

    HTML5手机APP开发入门(1) 开发框架 Ionicframework V2 + Angular 2 具体内容可以参考一下网站 http://ionicframework.net/ http:// ...

  3. 微信公众平台开发:Web App开发入门

    WebApp与Native App有何区别呢?Native App:1.开发成本非常大.一般使用的开发语言为JAVA.C++.Objective-C.2.更新体验较差.同时也比较麻烦.每一次发布新的版 ...

  4. 一看就懂的Android APP开发入门教程

    一看就懂的Android APP开发入门教程 作者: 字体:[增加 减小] 类型:转载   这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤 ...

  5. 初学者福音——10个最佳APP开发入门在线学习网站

    根据Payscale的调查显示,现在的APP开发人员的年薪达到:$66,851.这也是为什么那么多初学的开发都想跻身到APP开发这行业的主要原因之一.每当你打开App Store时候,看着琳琅满目的A ...

  6. DCloud-HTML5+:5+ App开发入门指南

    ylbtech-DCloud-HTML5+:5+ App开发入门指南 1.返回顶部 1. 5+ App开发入门指南 App App入门 HTML5 Plus应用概述 HTML5 Plus移动App,简 ...

  7. 【转帖】H5 手机 App 开发入门:概念篇

    H5 手机 App 开发入门:概念篇 http://www.ruanyifeng.com/blog/2019/12/hybrid-app-concepts.html 作者: 阮一峰 日期: 2019年 ...

  8. [转帖]H5 手机 App 开发入门:技术篇

    H5 手机 App 开发入门:技术篇   http://www.ruanyifeng.com/blog/2019/12/mobile-app-technology-stack.html 阮一峰老师的文 ...

  9. 5+ App开发入门指南

    HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实 ...

  10. 史上最简单的个人移动APP开发入门--jQuery Mobile版跨平台APP开发

    书是人类进步的阶梯. ——高尔基 习大大要求新新人类要有中国梦,鼓励大学生们一毕业就创业.那最好的创业途径是什么呢?就是APP.<构建跨平台APP-jQuery Mobile移动应用实战> ...

随机推荐

  1. Git学习笔记04-管理修改

    Git跟踪并管理的是修改,而非文件.新增文件,修改一行,删除一点,都算是修改. 在.git工作区新增一个文件,test.txt,输入test git ...然后git add ​ ​ add之后修改t ...

  2. Flask组件

    组件踩坑记录 : 先注册组件在使用配置(...) flask-script Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shel ...

  3. DBUtils--数据库连接池

    介绍 DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装. pg大概是是PostgreSQL(基于PyGreSQL)数据库,DB是其他数据库 Steady[ ...

  4. GBT MBR

    MBR最大支持2.2TB磁盘,它无法处理大于2.2TB容量的磁盘.MBR还只支持最多4个主分区——如果你想要更多分区,你需要创建所谓“扩展分区”,并在其中创建逻辑分区. GPT的全称是Globally ...

  5. Docker部署tomcat及应用

    前提Docker已安装完成. 由于测试网无法直接连入互联网,所以在本机虚拟机内下载tomcat镜像并传到测试网主机中. 虚拟机内执行 查找tomcat镜像: # docker search tomca ...

  6. 使用VW时,图片的问题

    在项目中,使用了VW适配,给图片直接设置了width和height,浏览器模拟正常,在手机上就不显示 解决办法是:在图片外面包一层div,设置width和height,然后图片设置width:100% ...

  7. Confluence 6 管理协同编辑 - 修改你的 Synchrony 配置

    你不能通过 Confluence UI 修改 Synchrony 的配置.配置的修改是通过系统属性进行修改的.在绝大部分情况下,你不需要对默认的配置进行修改.  修改 Synchrony 运行的端口. ...

  8. 为什么在移动端用rem圆角不圆

    rem是根据网页效果图的尺寸来计算的,当然还要借助媒体查询来完成.例如你的设计稿如果是宽720px的话,那你的文字就要以原始大小除以11.25,就是对应下面媒体查询720px:例如16px的话就要16 ...

  9. 【Linux】基本命令操作

    一.用户操作 1.新增用户 useradd -u 1101 -g zte -d /home/xhs -m xhs --其中,1101,为用户ID,尽量使用500以上的 zte,为用户组 /home/x ...

  10. libopencv_highgui.so.2.4.9:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用

    make之前加上sudo su重新make即可 http://blog.csdn.net/cfyzcc/article/details/52981467