Catalog npm
Back to packageRELEASE DETAILS

1.0.0

npm

14_vue_component

A Vue.js project

Published7 Nov 2020
Direct dependencies41
Transitive dependenciesNot calculated

README

Current package documentation

1.单文件组件 1.三个部分组成 1.template 只能存在一个根元素 2.script 3.style scoped: 样式只在当前组件内生效 2.子父级组件交互(通信) 父->子: props 数据传递类型限制(验证) 数据类型验证 多数据类型验证 必选项 默认值 obj、arr数据类型的默认值(返回Object) 子->父: emit Event 3.插槽 单个插槽 具名插槽 作用域插槽(子传父) 注意:在2.5.0之前,必须使用在template上 4.动态组件 keep-alive 2.css过度与动画 在CSS 过渡和动画中自动应用 过渡类名 v-enter:进入开始 v-enter-active;执行过程中 v-enter-to:结束动画 v-leave:离开开始 v-leave-active:离开过程 v-leave-to:离开结束 class可以配合使用第三方css动画库,如Animate.css

3.自定义指令 全局指令 Vue.directive('focus',{ inserted: function(el){ el.focus(); } }) 局部指令 directives:{ focus:{ inserted: function(el){ el.focus(); } } } Axios 1.安装 npm install axios 2.引入加载 import Axios from 'axios' Vue.prototype.$axios = Axios 3.请求 get请求: this.$axios("http://localhost:8080/static/mock/data.json",{ params:{ type:"junshi" } }).then(res=>{ console.log(res) }).catch(error=>{ console.log(error) }) psot请求: form-data: ?userId=admin&password=123 x-www-from-urlencoded:{userId: "admin",password: 123} 注意:axios接受的post请求的格式是from-data格式 this.$axios.post("http://localhost:8080/login", qs.stringify({ user_id:"admin", password: 123 })).then(res=>{ console.log(res) }).catch(error=>{ console.log(error) }) 4.全局的axios默认值 Axios.defaults.baseURL = 'http://localhost:8080'; Axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; Axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; 5.拦截器 在请求then或catch处理前拦截它们

6.跨域处理 
	1.修改config中的 index.js
		proxyTable: {
	        "/api": {
	            target: "http://localhost:8080",
	            changeOrigin: true,
	            pathRewrite: {
	                '^/api': ''
	            }
	        }
	    },
	2. mian.js 中添加HOST
		Vue.prototype.HOST = '/api'
	3.使用
		this.$axios.pos  t( this.HOST + "/login",
					      {
					        userId: 'admin',
					        password: '123456'
					      }
					      ).then(res=>{
					      console.log(res)
					    }).catch(error=>{
					      console.log(error)
					    });
	注意: 此种跨域解决方案,只能适用于测试阶段,打包的时候,不会具备服务
	不能跨域了,后端解决

Mock: 数据模拟 1.自己创建JSON文件。使用get请求形式访问数据 优点: 方便快捷 缺点:只能存在get请求 2.项目中集成服务器,模拟各种接口 优点:模拟真实显示环境 缺点:泽恩加开发成本 3.直接使用线上数据 优点:真实 缺点:不一定每个项目都存在 4.数据模拟库moackjs

路由 1.安装 npm install vue-router 2.引用 import VueRouter from 'vue-router' Vue.use(VueRouter); 3.路由嵌套 1.children 2.也要给显示位置(router-view)

ElementUI 1.安装element-ui npm i element-ui -S 2.安装按需加载的依赖 npm install babel-plugin-component -D 3.修改 .babelrc { "presets": [ ["env", { "modules": false, "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] } }], "stage-2" ], "plugins": ["transform-vue-jsx", "transform-runtime",[ "component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" } ]] } 4.引入组件 import { Button, Select } from 'element-ui'; Vue.use(Button) Vue.use(Select) 5.使用element-ui VueX Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

开发大型单页面应用时使用

VueX状态管理
	 view->(dispatch)Action->(Commit) Mutations->(Mutate)State->View
	 注意:Action不是必需品,如果有异步操作才可能用到,否则跨域不使用

	 使用
	 	1.安装
	 		npm install vuex --save
	 	2.引入依赖
	 		import Vuex from 'vuex'
	 		Vue.use(Vuex)
	 	3.创建 store 仓库
	 		const store = new Vuex.Store({
			  state: {
			    count: 0
			  },
			  mutations: {
			    increment (state) {
			      state.count++;
			    },
			    desment(state){
					state.count--;
			    }
			  },
			  actions:{
			  	incrementA(context){
			  		context.commit("increment");
			  	},
			  	desmentA(context){
					context.commit("desment");
			    }
			  }
			})
		4.使用
			获取数据
				this.$store.state.count
			调用 mutations 方法
				this.$store.commit('increment');
			调用 actions 
				this.$store.dispatch("incrementA");
		注意:
			Action 提交的是 mutation. 而不是直接改变状态
			Action 可以包含任意异步操作

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 41

Native requirements
41 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
axios
Environment
{
  "local_name": "axios",
  "alias": false,
  "peer_metadata": null
}
^0.21.0runtime
element-ui
Environment
{
  "local_name": "element-ui",
  "alias": false,
  "peer_metadata": null
}
^2.14.0runtime
vue
Environment
{
  "local_name": "vue",
  "alias": false,
  "peer_metadata": null
}
^2.5.2runtime
vue-router
Environment
{
  "local_name": "vue-router",
  "alias": false,
  "peer_metadata": null
}
^3.4.9runtime
vuex
Environment
{
  "local_name": "vuex",
  "alias": false,
  "peer_metadata": null
}
^3.5.1runtime
autoprefixer
Environment
{
  "local_name": "autoprefixer",
  "alias": false,
  "peer_metadata": null
}
^7.1.2development
babel-core
Environment
{
  "local_name": "babel-core",
  "alias": false,
  "peer_metadata": null
}
^6.22.1development
babel-helper-vue-jsx-merge-props
Environment
{
  "local_name": "babel-helper-vue-jsx-merge-props",
  "alias": false,
  "peer_metadata": null
}
^2.0.3development
babel-loader
Environment
{
  "local_name": "babel-loader",
  "alias": false,
  "peer_metadata": null
}
^7.1.1development
babel-plugin-component
Environment
{
  "local_name": "babel-plugin-component",
  "alias": false,
  "peer_metadata": null
}
^1.1.1development
babel-plugin-syntax-jsx
Environment
{
  "local_name": "babel-plugin-syntax-jsx",
  "alias": false,
  "peer_metadata": null
}
^6.18.0development
babel-plugin-transform-runtime
Environment
{
  "local_name": "babel-plugin-transform-runtime",
  "alias": false,
  "peer_metadata": null
}
^6.22.0development
babel-plugin-transform-vue-jsx
Environment
{
  "local_name": "babel-plugin-transform-vue-jsx",
  "alias": false,
  "peer_metadata": null
}
^3.5.0development
babel-preset-env
Environment
{
  "local_name": "babel-preset-env",
  "alias": false,
  "peer_metadata": null
}
^1.3.2development
babel-preset-stage-2
Environment
{
  "local_name": "babel-preset-stage-2",
  "alias": false,
  "peer_metadata": null
}
^6.22.0development
chalk
Environment
{
  "local_name": "chalk",
  "alias": false,
  "peer_metadata": null
}
^2.0.1development
copy-webpack-plugin
Environment
{
  "local_name": "copy-webpack-plugin",
  "alias": false,
  "peer_metadata": null
}
^4.0.1development
css-loader
Environment
{
  "local_name": "css-loader",
  "alias": false,
  "peer_metadata": null
}
^0.28.0development
extract-text-webpack-plugin
Environment
{
  "local_name": "extract-text-webpack-plugin",
  "alias": false,
  "peer_metadata": null
}
^3.0.0development
file-loader
Environment
{
  "local_name": "file-loader",
  "alias": false,
  "peer_metadata": null
}
^1.1.4development
friendly-errors-webpack-plugin
Environment
{
  "local_name": "friendly-errors-webpack-plugin",
  "alias": false,
  "peer_metadata": null
}
^1.6.1development
html-webpack-plugin
Environment
{
  "local_name": "html-webpack-plugin",
  "alias": false,
  "peer_metadata": null
}
^2.30.1development
node-notifier
Environment
{
  "local_name": "node-notifier",
  "alias": false,
  "peer_metadata": null
}
^5.1.2development
optimize-css-assets-webpack-plugin
Environment
{
  "local_name": "optimize-css-assets-webpack-plugin",
  "alias": false,
  "peer_metadata": null
}
^3.2.0development
ora
Environment
{
  "local_name": "ora",
  "alias": false,
  "peer_metadata": null
}
^1.2.0development
portfinder
Environment
{
  "local_name": "portfinder",
  "alias": false,
  "peer_metadata": null
}
^1.0.13development
postcss-import
Environment
{
  "local_name": "postcss-import",
  "alias": false,
  "peer_metadata": null
}
^11.0.0development
postcss-loader
Environment
{
  "local_name": "postcss-loader",
  "alias": false,
  "peer_metadata": null
}
^2.0.8development
postcss-url
Environment
{
  "local_name": "postcss-url",
  "alias": false,
  "peer_metadata": null
}
^7.2.1development
rimraf
Environment
{
  "local_name": "rimraf",
  "alias": false,
  "peer_metadata": null
}
^2.6.0development
semver
Environment
{
  "local_name": "semver",
  "alias": false,
  "peer_metadata": null
}
^5.3.0development
shelljs
Environment
{
  "local_name": "shelljs",
  "alias": false,
  "peer_metadata": null
}
^0.7.6development
uglifyjs-webpack-plugin
Environment
{
  "local_name": "uglifyjs-webpack-plugin",
  "alias": false,
  "peer_metadata": null
}
^1.1.1development
url-loader
Environment
{
  "local_name": "url-loader",
  "alias": false,
  "peer_metadata": null
}
^0.5.8development
vue-loader
Environment
{
  "local_name": "vue-loader",
  "alias": false,
  "peer_metadata": null
}
^13.3.0development
vue-style-loader
Environment
{
  "local_name": "vue-style-loader",
  "alias": false,
  "peer_metadata": null
}
^3.0.1development
vue-template-compiler
Environment
{
  "local_name": "vue-template-compiler",
  "alias": false,
  "peer_metadata": null
}
^2.5.2development
webpack
Environment
{
  "local_name": "webpack",
  "alias": false,
  "peer_metadata": null
}
^3.6.0development
webpack-bundle-analyzer
Environment
{
  "local_name": "webpack-bundle-analyzer",
  "alias": false,
  "peer_metadata": null
}
^2.9.0development
webpack-dev-server
Environment
{
  "local_name": "webpack-dev-server",
  "alias": false,
  "peer_metadata": null
}
^2.9.1development
webpack-merge
Environment
{
  "local_name": "webpack-merge",
  "alias": false,
  "peer_metadata": null
}
^4.1.0development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-KxsRAz/TrP3jynF+Wp3Zx1Anrfw89hWIIz+5YZXQg6bVC69f18SkJMbT+luFpPRO+YcIFjIZ5vR8Lt2zIO5hVg==",
  "shasum": "5263e60229bba9535991d4ca305f4f39eac64528",
  "tarball": "https://registry.npmjs.org/14_vue_component/-/14_vue_component-1.0.0.tgz",
  "fileCount": 41,
  "unpackedSize": 1825511,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfphBtCRA9TVsSAnZWagAAz5gP/ioGM5REKSnl6LqpWKda\nu0AfL2m38wPMWllMRuEgXH0cG/MC/4t69sbLsqFRhec9Lx4MP8usuemAoO26\nOrTFBPUdfWeJPOtuB4Jo+LZfYMJaLoxZPkORF1GcHx8sNyCaH1mQ06JN9mMX\nEElfiIopIYCTVmkzdFzdeySqpZDJJ7+UEOR+90l5/K237d/tkvETLeBibivD\nVRi7pbDUcafiQ9SAmL0JpUO11q3kDgQggks6V/szjB02J5Jmy4v6S16r08Rs\nXLzi2e6AvXwypixHt8ybeFy5uTnGtwbaEk+OnROWj8E/27JxP2uXJIkFgKdL\nISprtpSFyWiBSf8h3wFs1rR5S0tDLle00wEsOqXSWLuFU3Qgv5kQSqtvn1Wx\n76CEgrgXDPu16ZzDp7Rz+Wdg9XR5tViouGjPypX/9AHUoqnDHLkR7r5cFtIv\nJ271n1t+/Gwdc9LePiHgy0puxQAfzBA0xXabneKL0q8AaZETrqRG2o6ko9bf\nrqkzdPxae8xFzUqEo22J7FkZ8jIOahQjMCaPeZ/T9kew3/UMo1DUVbhxoOd/\n/JEp05XHRmokdfrA0eapOQZB5HuN4qLVGrj3T8gm18v+dzoU5S2H13AK8tBe\nijH+OSkU0i/3PTCC/kcW7nDYdbJRkkedzd90mXkATvg7v4G/z5wMXE1lCuzg\nnYbI\r\n=PrsC\r\n-----END PGP SIGNATURE-----\r\n",
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEUCIQCQ1P9xERB+uiHvohoFEh4PcDr/e0NfuEFKj268AHGUCgIgSKovn8XBL6qX58Hp/FdIj6ne8SoJsmY7M9r1vgH+8o0="
    }
  ]
}

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:14 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:04f7446fe6b9bc90756480ca204699ba443c00c8be1157367da77c5a986830c1

Other collected versions

View all collected versions →