解决nuxt 自定义全局方法,全局属性,全局变量的问题
注意 ,这个 在 asyncData 还是不能用的 ,在mounted等其他生命周期里面可以,
asyncData 里因为获取不到this他在组件初始化前执行的,如果找到方法我会继续更新到下一篇博客
好现在说步骤,在plugins 文件夹里新增一个 commom.js名字你自己取
commom.js 测试代码
import Vue from 'vue' var comsys= { install(Vue){ Vue.prototype.comsys = { val:function(val){ return val } }; } } Vue.use(comsys);
nuxt.config.js里 添加
plugins: [ { src: '~/plugins/commom.js', ssr: false } ],
引用的页面添加
mounted () { alert(this.comsys.val(1)); }
恩,这样就行了~
这个是实例方法 其他的属性 对象 可以参考 vue的官网
补充知识:Nuxt项目使用全局变量,函数,混合
当在Nuxt项目使用CSS预处理语言时,很有需要在全局添加变量,函数或者混合,这样子在项目的任何一个地方都可以使用,那怎么做呢?
首先下载@nuxtjs/style-resources
npm install @nuxtjs/style-resources
之后在nuxt.config.js里添加
//....... modules: [ '@nuxtjs/style-resources' ], styleResources: { sass: [], scss: [], less: [], stylus: [] } //.......
例如,你的使用stylus预处理语言,你在/asset/css下有个variable.styl变量文件,可以这样
export default { modules: ['@nuxtjs/style-resources'], styleResources: { stylus: './assets/css/variable.styl' } }
这样就在全局引入了变量,如果想引入多个文件可以把路径改为./assets/css/global/*.styl,把你想要全局注入的文件放在global目录下就行了
注意:
这里的路径不能使用~或者@等路径别名
千万不要用这种方式注入真正的样式文件,这种方式仅仅是用来注入变量,函数,混合等声明式内容,而不是真正的样式;如果你那样做,会在每个组件内注入难以控制的全局样式,你会很混乱的
以上这篇解决nuxt 自定义全局方法,全局属性,全局变量的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Nuxt默认模板、默认布局和自定义错误页面的实现
一.默认模板和默认布局 通常用于一些有固定格式的网站 比如一些网站的头部和底部都是一样的 此时即可使用默认模板 默认模板 在项目的根目录下创建一个名为app.html的文件 Nuxt即可自动将其识别为默认模板: 用法和字符串拼接有点类似 可将{{HEAD}}视为头部内容 将{{APP}}视为页面主体内容 (HEAD和APP都需大写) <!DOCTYPE html> <html lang="en"> <head> {{HEAD}} </head&
-
基于Vue.js+Nuxt开发自定义弹出层组件
今天给大家分享VPopup 基于Vue.js构建的轻量级移动端弹出框组件,详情如下所示: 一款融合了Vant.NutUI等热门Vue组件库中的Popup弹层.Dialog对话框.Toast提示框.ActionSheet动作面板框.Notify通知框等功能. 快速使用 在main.js中引入组件 // 引入弹窗Popup import Popup from './components/popup' Vue.use(Popup) 支持如下两种 组件式 及 函数式 调用插件. 组件式 <templat
-
Nuxt配置Element-UI按需引入的操作方法
Nuxt 使用 create-nuxt-app 创建项目时,选择使用 Element-UI 为默认组件库,发现 Nuxt 没有开启 Element-UI 的按需引入配置,需要自行配置. 安装依赖 在 create-nuxt-app 中没有选择 Element-UI 的先安装. npm install element-ui --save 或者 yarn add element-ui Element-UI 开启按需引入,必须安装 babel-plugin-component 插件. npm inst
-
nuxt 自定义 auth 中间件实现令牌的持久化操作
核心点就是在process.server下,把之前存在 cookie 中的数据再用store.commit一下 auth.js /* eslint-disable no-unused-vars */ /* eslint-disable no-useless-return */ export const TokenKey = 'Admin-token' /** * 解析服务端拿到的cookie * @param {*} cookie * @param {*} key */ export funct
-
解决Nuxt使用axios跨域问题
Nuxt 是 Vue 项目服务器端渲染(SSR)解决方案.而在使用时,就会遇到前后端分离情况下的域名或端口不一致导致的跨域问题.本文将介绍如何通过设置代理解决 Nuxt 与 axios 集成的跨域问题. 解决跨域 Nuxt 使用 axios 为避免出现前端页面跨域问题,需要安装 @nuxtjs/axios 和 @nuxtjs/proxy 两个模块. 用 yarn 安装: yarn add axios @nuxtjs/axios @nuxtjs/proxy 使用 npm 安装: npm insta
-
解决nuxt 自定义全局方法,全局属性,全局变量的问题
注意 ,这个 在 asyncData 还是不能用的 ,在mounted等其他生命周期里面可以, asyncData 里因为获取不到this他在组件初始化前执行的,如果找到方法我会继续更新到下一篇博客 好现在说步骤,在plugins 文件夹里新增一个 commom.js名字你自己取 commom.js 测试代码 import Vue from 'vue' var comsys= { install(Vue){ Vue.prototype.comsys = { val:function(val){
-
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
简介 Vue.use( plugin ):安装 Vue.js 插件.如果插件是一个对象,必须提供 install 方法.如果插件是一个函数,它会被作为 install 方法.install 方法将被作为 Vue 的参数调用. 当 install 方法被同一个插件多次调用,插件将只会被安装一次. Vue.js 的插件应当有一个公开方法 install .这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象: MyPlugin.install = function (Vue, op
-
解决vue自定义全局消息框组件问题
1.发现问题 在进行移动端适配的时候,为了在各个型号的设备上能够更好的提现结构排版,决定采用rem布局.采用rem布局的时候html的字体font-size是有一个标准的.我这边用的是750px的设计稿,就采用1rem = 100px. 在使用的过程中会用到一些第三方UI组件,而第三方UI组件是以px单位为标准的. 使用时发现:本来应该细长的提示语句变得很大! 最后发现可能是因为这个icon是继承了html设定的font-size,尝试加一些样式上去还是无效.(如果rem布局上有直接更改第三方组
-
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
本文讲述了yii2高级应用之自定义组件实现全局使用图片上传功能的方法.分享给大家供大家参考,具体如下: 此例为yii2高组应用,这里只提供一个简单的事例 在yii2中,在使用到上传图片时有自带的一个上传图片类,但不太好用. 其中有一种方式,把自己写的一个上传图片类文件,注册成一个组件,在全局中使用.(我记得我在里面有写过一篇小物件的使用) 这里,我只作一个简单的自定义组件介绍 1.在backend(或frontend)定义一个 upload.php(注意路径: backend/component
-
vue 自定义全局方法,在组件里面的使用介绍
在main.js里进行全局注册 Vue.prototype.funcName = function (){} 在所有组件里可调用 this. funcName(); 以上这篇vue 自定义全局方法,在组件里面的使用介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
spring boot+自定义 AOP 实现全局校验的实例代码
最近公司重构项目,重构为最热的微服务框架 spring boot, 重构的时候遇到几个可以统一处理的问题,也是项目中经常遇到,列如:统一校验参数,统一捕获异常... 仅凭代码 去控制参数的校验,有时候是冗余的,但通过框架支持的 去控制参数的校验,是对于开发者很友好,先看下面的例子 @NotEmpty(message="手机号不能为空") @Size(min=11,max=11,message="手机号码长度不正确") @Pattern(regexp=StringUt
-
配置vue全局方法的两种方式实例
目录 1,前言 2,第一种方式 3,第二种方式 总结 1,前言 在Vue项目开发中,肯定会有这样一个场景:在不同的组件页面用到同样的方法,比如格式化时间,文件下载,对象深拷贝,返回数据类型,复制文本等等.这时候我们就需要把常用函数抽离出来,提供给全局使用.那如何才能定义一个工具函数类,让我们在全局环境中都可以使用呢?请看下文分解. PS:本文vue为2.6.12 2,第一种方式 直接添加到Vue实例原型上 首先打开main.js,通过import引入定义的通用方法utils.js文件,然后使用V
-
在laravel框架中实现封装公共方法全局调用
1. 创建 functions.php 在 app/Helpers/(目录可以自己随便来)下新建一个文件 functions.php,在内部补充如下代码: <?php /** * 公用的方法 返回json数据,进行信息的提示 * @param $status 状态 * @param string $message 提示信息 * @param array $data 返回数据 */ function showMsg($status,$message = '',$data = array()){ $
-
完美解决linux下node.js全局模块找不到的情况
今天在在linux上用npm安装了pm2准备部署node项目,结果通过pm2命令启动项目的时候报pm2找不到,这很伤,以为pm2没有安装成功,但是在node安装目录下面的bin文件夹里面调用pm2却没问题. /usr/local/node/node-v7.3.0-linux-x64/bin/pm2 list 类似这样调用pm2 list命令查看pm2启动的项目没有任何问题. 原来linux系统上通过npm全局安装了模块以后,不能像windos下面那样自动配置环境变量,需要自己动手配置...好吧,
-
解决linux下node.js全局模块找不到的问题
今天在在linux上用npm安装了pm2准备部署node项目,结果通过pm2命令启动项目的时候报pm2找不到,这很伤,以为pm2没有安装成功,但是在node安装目录下面的bin文件夹里面调用pm2却没问题. /usr/local/node/node-v7.3.0-linux-x64/bin/pm2 list 类似这样调用pm2 list命令查看pm2启动的项目没有任何问题. 原来linux系统上通过npm全局安装了模块以后,不能像windos下面那样自动配置环境变量,需要自己动手配置...好吧,
随机推荐
- JavaScript的面向对象方法以及差别
- 利用Java发送邮件的实现代码
- Android控件之ImageView用法实例分析
- PHP文件上传实例详解!!!
- PHP5的XML新特性
- MySQL 配置文件my.cnf 例子最详细翻译
- Thinkphp框架开发移动端接口(1)
- jQuery延迟执行的实现方法
- JavaScript电子时钟倒计时第二款
- jQuery实现向下滑出的平滑下拉菜单效果
- js 复制或插入Html的实现方法小结
- java.exe和javaw.exe的区别及使用方法
- Android中解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题
- java selenium Selenium IDE介绍及用法
- 在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入、更新、删除数据
- 使用php从身份证号中获取一系列线索(星座、生肖、生日等)
- PHP 彩色文字实现代码
- Android自定义View实现BMI指数条
- 深入多线程之:深入分析Interlocked
- 咖啡 喝多了有什么不好小结