Vue.js/Elementui——使用方法详细介绍Vue.js是用于构建交互式的Web界面的库。从技术角度讲,Vue.js专注于MVVM模型的ViewModel层。它通过双向数据绑定把View层和Model层连接了起来。实际的DOM封装和输出格式都被抽象为了Directives和Filters。从哲学角度讲,Vue希望通过一个尽量简单的API来提供反应式的数据绑定和可组合、复用的视图组件。它不是一个大而全的框架——它只是一个简单灵活的视图层。vue?优点?简洁:HTML模板+JSON数据,再创建一个Vue实例数据驱动:自动追踪依赖的模板表达式和计算属性。组件化:用解耦、可复用的组件来构造界面。轻量:~24kbmin+gzip,无依赖。快速:精确有效的异步批量DOM更新。模块友好:通过NPM或Bower安装,无缝融入你的工作流。1.1vue简介•1.2、环境搭建•1.2.1安装node.js•Nodejs不是一个js应用、而是一个js运行平台;是一个构建与Chrome的V8JavaScript引擎之上的一个JavaScript运行时环境。•从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以了。•Node.js官网网址:•node的安装会默认安装cpm,检测安装成功的方法黑窗口中输入node-v若有版本号出现,安装成功npm-v若有版本号出现,安装成功•1.2.2安装node.jsnpm包管理器,是集成在node中的,所以,直接输入npm-v就会如下图所示,显示出npm的版本信息。•1.2.3安装cnpm•node环境已经安装完成,npm包管理器也有了。由于有些npm有些资源被屏蔽或者是国外资源的原因,经常会导致用npm安装依赖包的时候失败,所有我们还需要npm的国内镜像---cnpm•在命令行中输入npminstall-gcnpm--registry=然后等待,安装完成如下图。完成之后,我们就可以用cnpm代替npm来安装依赖包了。•对npm进行升级。(默认安装的npm可能版本低,如果想要最新版本则执行下面指令)npm-ginstallnpm@版本号•1.2.4安装vue-cli脚手架构建工具•在命令行中运行命令npminstall-gvue-cli,然后等待安装完成。安装之前黑窗口输入vue是无效指令•通过以上三部,我们需要准备的环境和工具都准备好了,接下来就开始使用vue-cli来构建项目。•1.2.4用vue-cli构建项目•要创建项目,首先我们要选定目录,然后再命令行中把目录转到选定的目录。在这里,我选择桌面来存放新建的项目,则我们需要先把目录cd到桌面,如下图。•在桌面目录下,在命令行中运行命令vueinitwebpackfirstVue。这个命令的意思是初始化一个项目,其中webpack是构建工具,也就是整个项目是基于webpack的。其中firstVue是整个项目文件夹的名称,这个文件夹会自动生成在你指定的目录中(我的实例中,会在桌面生成该文件夹),如下图。•运行初始化命令的时候会让用户输入几个基本的选项,如项目名称,描述,作者等信息。•打开firstVue文件夹,项目文件如下所示。其中,package.json这个文件相当于该项目的一个配置文件。•这就是整个项目的目录结构,其中,我们主要在src目录中做修改。这个项目现在还只是一个结构框架,整个项目需要的依赖资源都还没有安装,如下图。•1.2.5安装项目所需要的依赖•要安装依赖包,首先cd到项目文件夹(firstVue文件夹),然后运行命令cnpminstall,等待安装。•安装完成之后,会在我们的项目目录firstVue文件夹中多出一个node_modules文件夹,这里边就是我们项目需要的依赖包资源。1.2.6运行项目在项目目录中,运行命令npmrundev,会用热加载的方式运行我们的应用,热加载可以让我们在修改完代码后不用手动刷新浏览器就能实时看到修改后的效果。•npmrundev命令,其中的“run”对应的是package.json文件中,scripts字段中的dev,也就是nodebuild/dev-server.js命令的一个快捷方式。•项目运行成功后,浏览器会自动打开localhost:端口号。运行成功后,会看到如下所示的界面。二、vue.js介绍•Vue.js的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进DOM:如下例子:2.1指令V-text更新元素的textContent。如果要更新部分的textContent,需要使用{{Mustache}}插值。示例:spanv-text=msg/span!--和下面的一样--span{{msg}}/spanV-html:更新元素的innerHTML。注意:内容按普通HTML插入-不会作为Vue模板进行编译。如果试图使用v-html组合模板,可以重新考虑是否通过使用组件来替代。示例:divv-html=html/div•V-if条件渲染•h1v-if=okYes/h1•也可以用v-else添加一个“else”块:•h1v-if=okYes/h1•h1v-elseNo/h1•V-show•根据表达式之真假值,切换元素的displayCSS属性•V-for•基于源数据多次渲染元素或模板块。此指令之值,必须使用特定语法aliasinexpression,为当前遍历的元素提供别名:示例:•divv-for=iteminitems•{{item.text}}•/divV-on绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。!--方法处理器--buttonv-on:click=doThis/button!--缩写--button@click=doThis/buttonV-blind动态地绑定一个或多个特性,或一个组件prop到表达式。!--绑定一个属性--imgv-bind:src=imageSrc!--缩写--img:src=imageSrc!--内联字符串拼接--img:src='/path/to/images/'+fileName!--class绑定--div:class={red:isRed}/divdiv:class=[classA,classB]/divdiv:class=[classA,{classB:isB,classC:isC}]组件的划分组件(Component)是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js的编译器为它添加特殊功能。在有些情况下,组件也可以是原生HTML元素的形式在Vue.js,每个组件都是一个简单的Vue实例。一个树形嵌套的各种组件就代表了你的应用程序的各种接口。通过Vue.extend返回的自定义构造函数可以把这些组件实例化,不过更推荐的声明式的用法是通过Vue.component(id,构造函数)注册这些组件。一旦组件被注册,它们就可以在Vue实例的模板中以自定义元素形式使用了vue.js组件的重要选项-data#data类型:Object|Function限制:在组件定义中只能是函数。详细:Vue实例的数据对象。vue.js组件的重要选项-methods#methods类型:Object详细:实例方法。实例可以直接访问这些方法,也可以用在指令表达式内。方法的this自动绑定到实例。vue.js组件的重要选项-watch#watch类型:Object详细:一个对象,键是观察表达式,值是对应回调。值也可以是方法名,或者是对象,包含选项。在实例化时为每个键调用$watch()。templateHTML/templatescriptJavascript/scriptstylecss/styleVue的开发模式•V-model•在表单控件或者组件上创建双向绑定。细节请看下面的教程链接。•2.2调用自己的组件•2.2.1在项目文件里,路径:src/components自己新建的组件都放在components文件夹里。•新建一个.vue结尾的页面,把你写的组件都放在这里。•2.2.2在主页面.vue中,在script/script中写入•importComponentAfrom‘./components/ComponentA.vue’把组件引进来。•2.2.3与data同级定义组件components:{ComponentA},•2.2.4在template/template页面中定义一个标签来存放位置。•2.3父组件调用子组件内容•1.创建子组件,在src/components/文件夹下新建一个Child.vue2.Child.vue的中创建props,然后创建一个名为message的属性•3.在App.vue中注册Child组件,并在template中加入child标签,标签中添加message属性并赋值•4.保存修改的文件,查看浏览器•5.我们依然可以对message的值进行v-bind动态绑定•总结:•子组件在props中创建一个属性,用以接收父组件传过来的值•父组件中注册子组件•在子组件标签中添加子组件props中创建的属性•把需要传给子组件的值赋给该属性•2.4子组件调用父组件内容•1.在子组件中创建一个按钮,给按钮绑定一个点击事件•2.在响应该点击事件的函数中使用$emit来触发一个自定义事件,并传递一个参数•3.在父组件中的子标签中监听该自定义事件并添加一个响应该事件的处理方法•4.保存修改的文件,在浏览器中点击按钮•总结•子组件中需要以某种方式例如点击事件的方法来触发一个自定义事件•将需要传的值作为$emit的第二个参数,该值将作为实参传给响应自定义事件的方法•在父组件中注册子组件并在子组件标签上绑定对自定义事件的监听三、elementui用法•我们可以使用elementui的项目模板,官网可以下载:•1.确认一下main.js中是否是以下内容:•importVuefrom'vue'•importElementUIfrom'element-ui'•import'element-ui/lib/theme-default/index.css'•importAppfrom'./App.vue'•Vue.use(ElementUI)•newVue({•el:'#app',•render:h=h(App)•})•以上代码便完成了Element的引入。需要注意的是,样式文件需要单独引入•2.接下来只需要把你需要的组件放到vue页面中就可以了•3.通过脚本cd找到你的项目,npmrundev就可以查看效果了。•vue中插件的引入1.超链接的方式2.本地导入3.eg:cnpminstallvue--save(安装vue插件)cnpminstallvue-resource--save(安装vue-resource插件)