内容简介:使用vue Cli这里使用webStrom生成vue文件
使用vue Cli
这里使用webStrom生成vue文件
主文件
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
el: '#app',
render: function (createElement) {
return createElement(App);
}
})
使用渲染函数,Vue文件导入,挂载到appDom节点上
路由
这里使用vue全家桶的route https://router.vuejs.org/zh/
根据Url 分发视图
这个需要好好学。。。。
Vue中最重要的一块
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<div id="app">
<h1>Hello App!</h1>
<p>
<!-- 使用 router-link 组件来导航. -->
<!-- 通过传入 `to` 属性指定链接. -->
<!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
<router-link to="/foo">Go to Foo</router-link>
<router-link to="/bar">Go to Bar</router-link>
</p>
<!-- 路由出口 -->
<!-- 路由匹配到的组件将渲染在这里 -->
<router-view></router-view>
</div>
<script>
const Foo = {
template: '<div>foo</div>',
}
const Bar = {
template: '<div>bar</div>'
}
const routes = [
{path: '/foo', component: Foo},
{path: '/bar', component: Bar}
]
const router = new VueRouter({
routes: routes
})
const app = new Vue({
router
}).$mount('#app')
</script>
</body>
</html>
动态路由匹配
会进行匹配,参数值会进行替换
嵌套路由
状态管理
这里使用vuex
所有分散的共享数据由状态管理器保管
使用vuex
当store中状态发生变化,视图重新渲染
改变store中的状态进行提交
state维护应用层状态。。
在项目中使用vuex
使用脚手架搭建出vuex
new Vue({
// state
data () {
return {
count: 0
}
},
// view
template: `
<div>{{ count }}</div>
`,
// actions
methods: {
increment () {
this.count++
}
}
})
这个状态自管理应用包含以下几个部分:
state,驱动应用的数据源;
view,以声明方式将 state 映射到视图;
actions,响应在 view 上的用户输入导致的状态变化。
驱动映射的数据源 -> 声明state映射到视图,-> actions 响应变化,形成闭环
加数器
创建目录如下
定义数据仓库
// 加数器模块
export default {
namespaced: true, // 独立命名空间
// 维护应用层状态,确保应用有唯一数据源
state: {
count: 0
},
// 唯一数据源的缓存值 定义获取数据的方法
getters: {
tenTimesCount: (state, getters, rootState, rootGetters) => {
console.log(state, getters, rootGetters, rootState);
return state.count * 10;
}
},
// 定义修改数据的方式
mutations: {
addCount: (state, num) => {
// 若num值为空赋值为1
state.count += num || 1
}
},
// actions 提交mutations 执行异步操作
actions: {
addCountAsync: (context, num) => {
// 这里异步执行
setInterval(() => {
// 提交mutations
context.commit('addCount', num || 100)
}, num || 100)
}
}
}
导出数据仓库
// 输出文件
import Vue from 'vue'
import Vuex from 'vuex'
import count from './modules/counter'
Vue.use(Vuex)
// 导出实例化仓库
export default new Vuex.Store({
modules: {
count: count
}
})
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 项目组合、项目集、项目管理实践经验及思考
- 项目管理:如何避免项目延期?
- 【Vue项目总结】后台管理项目总结
- 【Vue项目总结】项目nginx部署
- 分享一个vue项目“脚手架”项目
- 项目管理基础:什么是项目管理?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。