Vue.js 在其他 js 文件调用 main.js 的 Vue 扩展方法 作者: Chuwen 时间: 2021-08-06 分类: Vue.js,JavaScript 评论 > 表述的不是很准确 `main.js` 扩展了以下方法: ```js import Vue from 'vue' import App from './App.vue' import dayjs from 'dayjs' dayjs.locale('en') dayjs.extend(require('dayjs/plugin/localizedFormat')) //看这里! Vue.prototype.$dayjs = require('dayjs') new Vue({ render: h => h(App), }).$mount('#app') ``` 某个文件夹下的 `Request.js` 需要调用刚刚扩展的方法,需要这么做: ```js // 注意要导入这个包 import Vue from 'vue' // 这样子就可以用了 const dayjs = Vue.prototype.$dayjs console.log(dayjs()) ```
Vue Route 使用 router-link 判断当前是否激活 作者: Chuwen 时间: 2021-05-22 分类: Vue.js 评论 ### 参考链接: > https://segmentfault.com/q/1010000010436257 我尝试使用以下达到了我的目的 ```vue 激活 未激活 ``` 当然官方也给出了文档,使用 `isExactActive`、`isActive` 可以判断,但是会出现一些问题: ```vue {{ item.title }} ```
Vue.js 监听指定 DOM 内容滚动到底部方法 作者: Chuwen 时间: 2021-05-08 分类: Vue.js 评论 ### 相关链接 - 官方文档:https://cn.vuejs.org/v2/api/#vm-refs - https://cn.vuejs.org/v2/guide/components-edge-cases.html#访问子组件实例或子元素 - 关于 ref:https://www.jianshu.com/p/3bd8a2b07d57 ### 代码如下 > 在线预览:https://b95x7.csb.app/ ```vue 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ``` ### 运行效果 - 在线预览:https://b95x7.csb.app/ ![到底前](https://cdn.nowtime.cc/2021/05/08/4111770395.png) ![到底后](https://cdn.nowtime.cc/2021/05/08/1996260801.png)
Vue.js 路由不生效(报错) 作者: Chuwen 时间: 2021-01-21 分类: Vue.js 评论 # 报如下错误 `TypeError: Cannot read property '$createElement' of undefined at render ...` ```log vue-router.esm.js?8c4f:2257 TypeError: Cannot read property '$createElement' of undefined at render (eval at ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"f01fdf16-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/Login.vue?vue&type=template&id=ef68022e&scoped=true& (app.js:974), :6:16) at eval (vue-router.esm.js?8c4f:2087) at eval (vue-router.esm.js?8c4f:2114) at Array.map () at eval (vue-router.esm.js?8c4f:2114) at Array.map () at flatMapComponents (vue-router.esm.js?8c4f:2113) at eval (vue-router.esm.js?8c4f:2049) at iterator (vue-router.esm.js?8c4f:2300) at step (vue-router.esm.js?8c4f:1947) ``` # 原因及解决方案 可能较依赖编辑器自动补全,导致将路由的配置项 `component` 写成了 `components` ## 解决前代码 ```javascript import Vue from 'vue' import VueRouter from 'vue-router' import Login from '@/components/Login' Vue.use(VueRouter) const routes = [ { path: '/', redirect: '/login'// 重定向指定页面 }, { path: '/login', name: 'login', components: Login } ] const router = new VueRouter({ mode: 'history', routes }) export default router ``` ## 解决后代码 ```javascript import Vue from 'vue' import VueRouter from 'vue-router' import Login from '@/components/Login' Vue.use(VueRouter) const routes = [ { path: '/', redirect: '/login'// 重定向指定页面 }, { path: '/login', name: 'login', component: Login// !!!修改了此处!!! } ] const router = new VueRouter({ mode: 'history', routes }) export default router ```