VUE开发环境个人推荐使用VS code, 然后安装特定的插件即可开发,可用插件如下:
Vetur —— 语法高亮、智能感知、Emmet等
EsLint—— 语法纠错
Auto Close Tag —— 自动闭合HTML/XML标签
Auto Rename Tag —— 自动完成另一侧标签的同步修改
Path Intellisense —— 自动路劲补全
HTML CSS Support —— 让 html 标签上写class 智能提示当前项目所支持的样式
Vue 2 Snippets ——vue的语法提示
2.1 引入js
2.2 给dom元素定义id
{{msg}}
2.3 vue代码编写
new Vue({ el: "#app", data: { msg: "Hello World" } });
v-text: v-text是用于操作纯文本,它会替代显示对应的数据对象上的值,可以简写为{{}}, 即插值表达式。
v-html: 将内容以html的形式呈现在页面。
v-model: 双向数据绑定。
v-if: 值如果为true的情况下,显示标签,如果为false会移除标签。
v-else-if: 与v-if配合使用。
v-else: 与v-if配合使用。
v-show: 如果为true,显示信息,如果为false则隐藏标签。
v-for: 循环遍历。语法形式为 v-for=“item in list”
v-bind: 将值绑定到标签的自定义属性上,形式为 v-bind:title="mytitle",可以简写为 :属性名
v-on:click: 点击事件,可以简写为@click。
如下代码为v-bind的演示:
这是一段话
这是一段话
这是一段话
案例:1. 通过表单添加数据,渲染到列表中。
2. 遍历数组和对象,并能删除和更新。
3.1 计算属性
计算属性是用来存储数据,而且数据可以进行逻辑操作,是基于其依赖的进行更新,只有在相关依赖发生变化的时候才会更新变化,计算属性是缓存的,只要相关依赖不发生变化,多次访问属性值是之前I计算得到的值,并不会多次执行。计算属性的属性名不需要纳入到Vue的数据对象中。
3.2 监视器
所谓的监视器就是可以通过watch的方式观察某个属性的变化,然后做出相应的处理。
3.3 案例
FirstName:
LastName:
FullName1(单向):
FullName2(单向):
FullName3(双向):
对应的js代码如下:
案例二:串联过滤器,将数字四舍五入成两位有效数字,然后转换为美元表达方式
{{price | fix(2) | toUSD}}
5.2 局部过滤器
局部过滤器是定义在Vue实例中,只能在指定的实例中才能使用。
案例:我们创建博客的时候,都会有文章列表,每篇博客将会有一个文章摘要,然后提供一个“阅读更多”的功能。我们这个示例就是来创建一个名为readMore的过滤器,它将把字符串的长度限制为给定的字符数,并将其附加到你的选择的后缀中。
{{article | articleDisplay(20, '...')}}
练习:定义日期转换的过滤器。
使用vue-cli能够快速的帮助我们构建项目,它就如同一个脚手架,提供了可选的模板。在使用vue-cli之前需要先安装nodejs。
6.1 使用npm构建项目
npm install -g @vue/cli #安装vue-cli,该步骤需要等一段时间 vue -V #查看vue-cli的版本 vue create my-app #创建名为my-app的项目
6.2 项目的结构介绍
public: 存放静态文件。
src: 源码文件,开发就在此目录下。
.gitignore: git的配置文件。
babel.config.js: babel的配置文件,在创建项目的时候才用的脚手架为bable。
package-lock.json:定义了依赖库的下载位置,保证了在项目迁移部署环境的一致性。
package.json: 定义了该项目依赖的类库。
6.3 项目的打包部署
执行命令:
npm run build
将生成的dist目录下的文件放入到tomcat或者nginx下,启动服务器,即可访问。
组件化开发是在ES6中提出的,可以提高页面的复用率,提高开发效率,便于团队协作,是一套模板化的代码,要有、
、
三个标签,分别用来定义布局、脚本和样式。而且
下必须有一个根节点。
7.1 编写App.vue和HelloWorld.vue
HelloWorld.vue
{{msg}}
App.vue
{{article}}
7.2 定义入口JS文件
import Vue from 'vue' //引入vue import App from './App.vue' //引入自己定义的App.vue,使用变量App来接收 new Vue({ render: h => h(App), //将App组件渲染到index.html中。 }).$mount("#app")
render是Vue中的一个方法,方法的定义形式如下:
// render最原始的,而传入的参数createElement又是一个函数,用来生成dom结构 render: function(createElement){ } // 按照ES6的箭头函数的写法,进行第一次演变 render: createElement => createElement(模板) // 将上面的createElement变为h,那么就得到最终的形式 render: h => h(App)
$mount("#id")该方法的作用是先实例化Vue对象,接着在挂载到指定Id的节点上,和在new Vue
的时候使用el指定要渲染的节点的形式是一样的,只是换了种形式而已。