我最近学习了js,取得进步,如今学习vue.js.
建议新手学习,请不要用npm的方式(vue-cli,vue脚手架),太复杂了. 请直接下载vue.js文件本地引入,就上手学习吧
参照菜鸟教程网站的vue.js教程http://www.runoob.com/vue2/vu...
从基础开始理解和上手,请看我写的中文注释,帮助理解javascript
直接把菜鸟教程的例子复制到本身的代码编辑器里看更好css
菜鸟教程的好处我以为之一是其有不少实例子,那么就应该拿例子复制回来本地本身的编辑器看.html
由于菜鸟的例子左边代码,右边视图.就很小了,很差审视.前端
要打开浏览器控制台(好比咱们推荐用谷歌浏览器chrome在浏览器按f12就能够打开控制台),直观的看到js和dom层,比看到界面更重要的是看到dom层的实际操做变化vue
<body> <h2>vue</h2> <div id="myapp"> <p title="哈哈">学习vue很舒服</p> <p>{{ message }}</p> <p>{{ mz }}</p> </div> <script src="js/vue.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> var myapp = new Vue( //新建一个Vue 实例并赋值给变量'myapp',这时变量myapp就是这个vue实例 { el:'#myapp', data:{ message:'hello Vue', //myapp.message = 'hello Vue' mz:'小伟33' //myapp.mz = '小伟33' } } ); </script> </body>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>vue一个简单例子的基础说明</title> </head> <body> <div id="vue_det"> <!-- {{ }} 用于输出对象属性和函数返回值。 --> <h3>site : {{site}}</h3> <h3>url : {{url}}</h3> <h3>alexa : {{alexa}}</h3> <h3>{{details()}}</h3> </div> <script src="js/vue.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> var vm = new Vue({ el: '#vue_det',//el 参数,它是 DOM 元素中的 id,这意味着咱们在该div里面做业,外面不受影响,不会影响外面 data: {//data 用于定义属性,实例中有三个属性分别为:site、url、alexa。 site: "菜鸟教程",//这是一个属性site,其值是字符串"菜鸟教程" url: "www.runoob.com",//同上 alexa: "10000"//这是一个属性alexa,其值是字符串"10000" }, methods: {//methods 用于定义的函数,能够经过 return 来返回函数值。 details: function() { return this.site + " - 学的不只是技术,更是梦想!"; } } }) </script> </body> </html>
参照菜鸟教程网站的vue.js教程http://www.runoob.com/vue2/vu...java
请看我写在代码里的注释node
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>vue.js一个简单例子的基础说明系列-[第2个例子]</title> </head> <body> <div id="vue_det"> <h1>site : {{site}}</h1> <h1>url : {{url}}</h1> <h1>Alexa : {{alexa}}</h1> </div> <script src="js/vue.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> // 咱们的数据对象 //除了数据属性,Vue 实例还提供了一些有用的实例属性与方法。它们都有前缀 $,以便与用户定义的属性区分开来。 var data = { site: "菜鸟教程", url: "www.runoob.com", alexa: 10000}//定义一个js变量.即js属性 var xm = '小明';//定义一个js变量.即js属性 var vm = new Vue({ el: '#vue_det',//定义一个vue属性el,要使用vm.$el才能访问 data: data//定义一个vue属性data,要使用vm.$data才能访问 }) // 咱们在浏览器控制台访问上面的那些变量和属性,直接经过.的方式 // document的子是vm,vm的子是el和data,document.vm能访问vm,而vm.el这样写是 //访问不到vm的,要这样写vm.$el才能访问,由于el是Vue实例的直接子变量 // data ->{__ob__: wr} //是对象 // xm ->'小明' // el ->VM113:1 Uncaught ReferenceError: el is not defined //这样是访问不了的,由于el不是js的全局变量/属性 // vm.el ->undefined //这样也不行,要写成vm.$el才对 // vm.$el -><div id="vue-det">...</div> //这样才是访问vue的 </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>vue.js一个简单例子的基础说明系列-[第1个例子]----vue如何模板语法渲染数据</title> </head> <body> <div id="app"> <p>{{message2}}</p> <!--使用 {{...}}(双大括号)的方式把属性的值渲染到html里--> <div v-html="message1"></div> <!--使用 v-html 指令来把 html 代码 渲染到html里--> </div> <script src="js/vue.min.js" type="text/javascript" charset="utf-8"></script> <script> new Vue({ el: '#app', data: { message1: '<h1>菜鸟教程</h1>', message2: 'ok,i can do it' } }) </script> </body> </html>
它是怎么vue去改变dom层webpack
在浏览器控制台能够看到操做是它的dom层的变化es6
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title> </head> <style> .class1 { background: #444; color: #eee; } </style> <body> <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> <div id="app"> <label for="r1">修改颜色</label> <input type="checkbox" v-model="class1" id="r1"> <br><br> <div v-bind:class="{'class1': class1}"> directiva v-bind:class </div> </div> <script> new Vue({ el: '#app', data: { class1: false } }); </script> </body> </html>
vue 的v-bind,bind意思:绑定,v-bind就是在dom和js层进行数据绑定.就是能够讲js的数据变量什么的绑定到dom层的属性,让属性的值是js数据.这样,就能使得改变数据因而就改变了dom的属性web
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>vue双向数据绑定</title> </head> <body> <div id="app"> <div> <input v-model="parentMsg"/><!--意思是用户的所输入即更新到数据层里的parentMsg做为数据的值--> <br> <p>{{parentMsg}}</p> </div> </div> <script src="js/vue.min.js" type="text/javascript" charset="utf-8"></script> <script> // 建立根实例 new Vue({ el: '#app', data: { parentMsg: '这世界很大,天空很蓝' } }) </script> </body> </html>
首先我新建个"abc"文件夹,cmd到abc目录下.
而后,初始化一个vue项目 vue init webpack mydemo1 (vue init simple 是简单版,webpack是普通版,通常选择使用webpack版),而后它就开始新建一个名叫做mydemo1的项目,问一些问题以下,除了几个要注意,其余的就按回车默认就行,要注意的几个以下:
Use ESLint to lint your code? (Y/n)
要使用严格的es6语法吗?不用,由于严格的话,写错一点代码都不容许,太麻烦.按n选no,再回车
Set up unit tests No ?(Y/n)
是测试工具,这个也选no就行.
Setup e2e tests with Nightwatch?
也是测试工具,这个也选no就行.
npm install 表示我要根据package.json文件清单来从node云端下载文件放到生成的node modules文件夹.这要下载不少东西,因此建议cnpm install
------------------------------------------分割-----------------------------------------
vue学习笔记-vue模板语法<!DOCTYPE html>
<html> <head> <meta charset="UTF-8"> <title>vue模板语法</title> </head> <body> <div id="app"> <div v-text="msg"></div><!--在div中以test的方式输出数据msg--> <div v-html="msg2"></div><!--在div中输出以html的方式数据msg--> </div> <script src="js/vue.min.js" type="text/javascript" charset="utf-8"></script> <script> // 建立根实例 new Vue({ el: '#app', data: { msg: '这世界很大,天空很蓝', msg2: '<h2>这世界很大,天空很蓝</h2>' } }) </script> </body> </html>
"Python先后端分离开发Vue+Django REST framework实战 难度中级" 的知识技能清单已经罗列完了,它是偏后端的,因此前端的知识技能讲的不太多.
我打算如今继续再分析一个vue前端的项目,名字"慕课网 Vue2.5开发去哪儿网App 从零基础入门到实战项目",罗列它的知识技能清单.
来自慕课网教程"Vue2.5开发去哪儿网App 从零基础入门到实战项目"