Vue——全局和局部、组件1:创建vue项目

170 阅读5分钟

组件:

组件是可以复用的,把组件当做一种标签使用,用一次,它内部的代码就会完整的执行一次,就像是一个函数一样,使用组件就相当于在调用函数,实参就相当于组件的属性值。

注意:在开发时,数据尽量不要放在data中,数据驱动页面,要这个数据未来可能发生变化,才放在data中(也就是说,你不要把数据放在data中,只有当项目需要使用data的时候,你自然就会想起它)

定义:

组件是可复用的 Vue 实例,主要用于开发中 具有相同特征不同数据的模块 把它集成为一个组件, 供重复利用。

理解:

Vue实例就是一个根组件,有点像数据结构中二叉树的根节点,Vue实例中的组件就相当于是子组件,它们拥有着根组件所有的属性。也就是说它可以像根组件一样,里面又有着子组件。

注意:

1.组件的属性不能用大写字母 ,组件的名字可以用驼峰命名法,但是使用的时候必须用连字符

2.注册的组件不要跟系统标签同名

1.全局组件、全局过滤器、全局指令:

  • 全局过滤器Vue.filter("函数名",function(){})

  • 全局自定义指令Vue.directive("指令名",function(el,obj){})

  • 全局组件Vue.component("组件名",{ template:"<div>omd</div>" })

style样式、html文本:

image.png

注意:全局注册的组件使用时不能使用单标签(不会报错,但是只能使用一次 多次使用只显示第一个)

script标签:

image.png

2.局部过滤器、局部指令、局部组件:

简单点来讲:将这些方法写在组件中的,就是局部。(且局部的,都不能相互访问,即使是嵌套关系,也不行,但是局部是可以访问全局的

一个vm实例可以有多个局部组件,但是只能供当前vm实例使用(内部组件也不能访问外层组件,外层也不能访问内层组件,同级组件更是如此)

image.png

这里的boxtool就是局部过滤器

3.单文件组件:

因为我们想要将组件中的template中的html文本转换为js文本,这个时候就可以用到我们的Vue框架了。

引入单文件组件的步骤:@1官方脚手架 @2挂载vm对象 @3组件引入并渲染到vm中。

具体步骤:

1.使用官方脚手架的方式来构建项目环境

 1.  cnpm install  @vue/cli -g //下载官方脚手架
 2.  vue create app1  //项目名称
 3. 接下来让你选择一些默认要生成的工具,不管直接回车
 4. 进入项目文件夹: cd app1 //进入项目文件夹,也可以直接在项目文件夹中打开终端
 5. 启动:
 npm run serve  //生成的打包文件在内存中不会写入磁盘用于开发阶段
 或者  
 npm run build //生成的打包文件在dist中 用于项目上线

1.使用脚手架创建vue项目:新建一个文件夹打开,在cmd.exe中输入vue create 项目名

  • 1.这里会让你选择,我们选择最后一个

image.png

  • 2.一直enter,直到出现下面这个,根据自己的选择,选择下载vue2.0版本,还是vue3.0版本。(也就是最后两项中的一个)

image.png

  • 3.一直enter,下载完毕

2.我们可以创建vue文件,在里面写代码,然后导出,在根组件(App.vue文件)中导入,使用。

3.进入项目名中的文件,启动项目:在cmd.exe中输入npm run serve

image.png

通过这上面的网址,可以进入到我们代码运行后的页面

提示:

关闭eslint的严格模式检测

第一种方法:在创建vue项目时,就取消严格模式检测

image.png

第二种方法:在vue.config.js文件中:

 // 关闭eslint的严格模式检测
 lintOnSave:false

image.png

了解Vue项目文件结构

image.png vue.config.js文件:是打包的配置文件

README.md文件:开发文档(写笔记的地方)

package.json文件:npm包配置文件,定义了项目的npm脚本,依赖包等信息

package-lock.json文件:项目依赖项、开发环境依赖项

jsconfig.json文件:转码工具

node_modules:npm 加载的项目依赖模块

babel.config.js文件:js编译器

.gitignore文件:上传需要忽略的文件配置

public文件:项目的挂载点 文件, 也是模板文件

src文件:源代码(这里是我们要开发的目录,基本上要做的事情都在这个目录里)

src文件里面包含了几个目录及文件:

1)assets:资源目录,放置一些图片或者公共js、公共css。但是因为它们属于代码目录下,所以可以用 webpack 来操作和处理。意思就是你可以使用一些预处理比如 Sass/SCSS 或者 Stylus。

2)components:用来存放自定义组件的目录,目前里面会有一个示例组件。

3)router:前端路由目录,我们需要配置的路由路径写在index.js里面;

4)App.vue:根组件;这是 Vue 应用的根节点组件,往下看可以了解更多关注 Vue 组 件的信息。

5main.js:应用的入口文件。主要是引入vue框架,根组件及路由设置,并且定义vue实例,即初始化 Vue 应用并且制定将应用挂载到index.html 文件中的哪个 HTML 元素上。通常还会做一些注册全局组件或者添额外的 Vue 库的操作。