---恢复内容开始---
1、框架与库的区别
前端框架与库的区别?
-
jquery 库 -> DOM(操作DOM) + 请求
-
art-template 库 -> 模板引擎
-
框架 = 全方位功能齐全
-
简易的DOM体验 + 发请求 + 模板引擎 + 路由功能
-
-
KFC的世界里,库就是一个小套餐, 框架就是全家桶
-
代码上的不同
-
一般使用库的代码,是调用某个函数,我们自己把控库的代码
-
一般使用框架,其框架在帮我们运行我们编写好的代码
-
框架: 初始化自身的一些行为
-
执行你所编写的代码
-
施放一些资源
-
-
2、vue使用npm下载完成后,其文件夹下会有几个不同后缀的文件:
1)vue.common.js是以commomjs为规范的文件
2)vue.esm.browser.js则是es6为标准的commonjs文件
3)vue.esm.js 是以es6为标准的
3.vue的基本使用:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="./node_modules/vue/dist/vue.js"></script> <title>Document</title> </head> <body> <div id="app"> </div> </body> <script> new Vue({ el:'#app',//目的地 template:'<div>{{msg}}</div>',//只允许一个根标签,没有的话默认加载app根元素 data(){ return{ msg:'hello' }//数据驱动视图,在vue实例对象 } }) //插值模板语法:双花括号 </script> </html>
花括号中允许插入对象,字符串,布尔值,三元表达式,对象要在花括号外加空格
隔开
4、指令:
在vue中提供了一些对于页面+数据更方便的输出,这些操作被称为指令
以v-xxx表示,封装了一些DOM行为
v-text/v-html:渲染相应的文本/模板内容
v-if/v-show:销毁或创建元素/隐藏或显示元素
v-if可与v-else搭配使用
v-for循环
v-for='(item,index) in menuLists' //item是值的每一项.index是数组的索引
v-bind 为元素的属性绑定值,主要实现的是单向数据绑定
:属性=‘data变量’
v-on绑定事件,简写@
v-model:双向数据绑定语法糖,但仅能在表单元素内绑定
尝试用vue内部实现:
5、局部组件
1)局部组件可以使用以下方式进行声明
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="./node_modules/vue/dist/vue.js"></script> <title>Document</title> </head> <body> <div id="app"> </div> </body> <script> //局部组件:声子,挂子,用子 let App={//组件名称首字母必须大写 template:'<div>entry{{msg2}}</div>', data(){ return { msg2:'ok啦' }//必须使用函数返回一个对象 } } new Vue({ el: '#app',//目的地 template: '<App />',//这里的标签可以是单闭合 data() { return { msg: 'hello' } }, components: { App } }) //插值模板语法:双花括号 </script> </html>
4、全局组件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="./node_modules/vue/dist/vue.js"></script> <title>Document</title> </head> <body> <div id="app"> </div> </body> <script> //全局组件 Vue.component('Vbtn',{//挂载到了vue的实例上,该实例的子组件 //也可以使用这个全局组件 template:'<button>hello</button>' }) new Vue({ el: '#app',//目的地 template: '<Vbtn />',//这里的标签可以是单闭合 data() { return { msg: 'hello' } }, components: { //不需要挂载Vbtn,已经挂载好了 } }) //插值模板语法:双花括号 </script> </html>