vue中需求:单页面如果不调用某方法,就用全局默认的

求方法,求思路,因为有接口,不能调取两次,有没有简单的方法,求大神分享

0

3个回答

可以加个开关去做限制,如现在data里面申明一个开关openClick : true 后面在调取接口之前做个限制if(this.openClick) {调用接口方法,成功后 this.openClick = false;} else{使用全局方法}

0
u012892798
岁月_Ben 你这个正好给我相反,我的需求是单页面加载完毕后,全局再去判断,
8 个月之前 回复

vuex设置一个data
APP.Vue中监听这个data,全局默认方法也引入到这里
一个页面PageOne.Vue在created 之后调用了某个方法就改变data,如果没有不改变data
在APP.Vue中监听变化,变了就说明调用了,没变就没调用,然后用你全局默认的。
不知道我理解的对不对...
直接回复代码格式看着难受,在这里写了:
在一个页面的created中写:

created(){
        this.data=newData;//改变data
},

此时APP.Vue会接受到变化,监听变化方法

watch:{
        data:{
                handler(curVal,oldVal){
                //console.log(curVal);
                this.doSomething();//你的接口方法
                }
        }
},
0
qq_36022290
zhenyu-s5 回复u012892798: 在一个页面的created中写:created(){ this.data=newData;//改变data },此时APP.Vue会接受到变化,监听变化方法watch:{ rangeValue:{ handler(curVal,oldVal){ //console.log(curVal); this.doSomething();//你的接口方法 }, } },
8 个月之前 回复
qq_36022290
zhenyu-s5 回复u012892798: 写到Vue生命周期的created中就行。created(){}
8 个月之前 回复
u012892798
岁月_Ben 对的,就是我想在全局设置一个调用接口的方法,是在单页面加载完毕,但是要设置全局中,不写在单页面中,这个有什么好的建议吗
8 个月之前 回复

data 里 定义一个 number : 0 , 不管那个方法请求前加上 if( this.number < 1 ) , if 里 this.number++ ; 先执行的那个方法就可以发送请求 ; 代码的执行时有先后顺序的肯定会有一个先执行 , 不会出现同时请求的可能

0
u012892798
岁月_Ben 现在遇到的问题是我要做全局中掉用这个方法,前提事无论单页面还是全局都要执行完毕后调用,这个写哪里比较合适呢
8 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Vue.js在页面加载时执行某个方法
jQuery中可以这样写vue中,如果要达到相同效果,可以使用vue的生命周期函数,如create或者mounted附上vue.js的生命周期函数执行流程
如何在基于 vue 单页面应用全局使用 websocket ,以及如何定义全局变量并在其他页面改变其值
1)首先创建一个全局 js 文件,如 global.js ,用于定义全局变量 ws 和方法 setWs() // global.js export default { ws: {}, setWs: function(newWs) { this.ws = newWs } } 2)在 main.js 中引入 global.js // main.js impor...
vue单页应用如何封装注册组件?
之前看别人写博客,都是一些大神写的新的分享,自己虽然是个菜鸟,也暂时记录下vue的学习过程: 1.、单页封装组件实例: 2、组件的使用: 注:在引用界面,点击事件会出发组件封装的方法,也就是 this.$emit('click', this.text+'z')  其中text为父组件传的值value(string类型) ...
vue-cli配置单页应用的全局使用变量
通过vue-cli配置的单页应用,可能很多组件都会用到一些模块和变量。每个组件再去单独引入就会显得有点麻烦了。可以选择在main.js,通过配置vue对象原型设置全局使用的模块和变量。比如axios, qs等。import Vue from 'vue' import App from './App' import router from './router' import axios from '...
Vue.js的全局/局部组件填坑记
玩Vue也有一段日子了,最近陷在组件坑里差点出不来,还好有SegmentFault高人指点,特将细节分享出来一起学习提高。 起因:最早一直用的是头文件引入Vue,即,这样做的缺点是每次都需要创建新实例且并不符合项目工程化的需求。 解决方案:使用node.js+npm安装Vue,再使用IDE(WebStorm)打开项目实现热加载。 问题:然后在使用全局组件的时候碰到一个
vue.js组件的全局注册和局部注册详解
&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&quot;en&quot;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;Title&amp;lt;/title&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt; &amp;lt;div id=&
vue--自定义全局方法,在组件里面使用
在main.js里进行全局注册 Vue.prototype.funcName = function (){} 在所有组件里可调用 this.funcName();
前端框架Vue(13)——vue 中如何对公共css、 js 方法进行单文件统一管理,全局调用
1、前言 最近,为公司开发交付的一个后台管理系统项目,我使用了 Vue 框架进行开发实践。 模块化、组件化、工程化的开发体验非常好。良好的 api,优雅的设计,对于工程师非常友好。 但是由于模块比较多,我对于每个模块分配了不同的组件,发现一个项目中有许多相同的方法, 在每个组件中我都需要进行重复的编写。 所以,我希望能够将这些公共的方法,抽离出来放到同一个 js 中,
开发微信公众号小技巧(全局分享及单页分享)
全局分享 全局分享: 在wx.ready中写进分享,就不用一个页面一个页面写了, 但是分享的各个参数都是固定的。 // config过程就不说了百度一大堆,就拿朋友圈举例了,分享给朋友一样 ...wx.config // 分享到朋友圈 wx.onMenuShareTimeline({ title: rbConst.rbTitle, // 分享标题 link: rbConst....
vue 实现一个简单的全局调用弹窗
1.实现效果图 2.第一步,新建一个.vue文件 定义一个弹框的基本模板 style样式放在了文章的最底部,如果需要看效果,需要将样式放入这个vue文件里 ,样式是用less写的,需要你的项目引入less 注意:我这里的组件右上角关闭是一张图片 需要换成你自己本地的路径 &lt;template&gt; &lt;div id="tip_alertModal"&gt; &lt;...
解决vue单页文件引入js的问题
vue单页文件引入js Vue.component('remote-script', { render: function (createElement) { var self = this; return createElement('script', { attrs: { type: 'text/j...
vue统一设置了背景色,单独改变某一页的背景色
有时我们会遇到单独改变某个组件的背景填充色,而我们已经在index.html中引入了公用的css样式(body中设置了背景色),由于单个组件没有body标签,于是要修改单个组件的背景色只需添加如下代码即可。 beforeCreate () { document.querySelector('body').setAttribute('style', 'margin: 0 auto; widt...
vue全局变量、全局方法
1、全局变量                                                                                         main.js中设置如下内容页面中使用如下2、全局方法                                                                              ...
vue中多次调用同一个定义全局变量方法
在Vue开发中,有很多场景会用到多次重复的API请求。例如: '//192.168.1.117:1009/' 在多个地方调用,每次书写很麻烦,后期项目维护也不好管理。我们可以在src目录下创建一个api文件夹。 例如: 定义一个公共方法。 config.js:  export const http='//192.168.1.117:1009/' 在任何页面调用将http方法暴露出来  im
vue项目中,使用默认图片替代异常图片
web项目中经常需要展示图片,很可能就会碰到图片地址无效的情况,比如图片地址不对,或者后台拿到图片地址后,该地址无效,或者数据库中没有该图片等情况。这时候,图片就会显示一个叉。 对于项目中出现的这种情况,我们也可以不做处理,但是比较影响美观,所以我们都会使用一个默认的图片来代替图片原来的地址。使用require将图片进入,写法如下:    data() {        return {     ...
vue中如何使用全局变量和全局函数
vue中如何使用全局变量和全局函数
使用Vue调用接口加载页面初始数据
闲着没事写了一个电影推荐的网页,很简单,使用的是Vue的实现. let vm = new Vue({ el:'#content', data:{ name:'', pic:'', actor:'', detail:'', link:'' ...
怎样在vue单页面中引入其他组件
场景 在一个vue的单页面,假如是home.vue中要引入其他组件的内容。 页面结构如下: 实现 首先在components下新建组件Today_recommend.vue组件 &amp;lt;template lang=&quot;html&quot;&amp;gt;   &amp;lt;div class=&quot;&quot;&amp;gt;   今日推荐   &amp;lt;/div&amp;gt; &amp;lt;/template&amp;gt; &amp;lt;script
Vue中把一个组件的方法定义为全局方法、子组件控制父组件增加tab页面(一)
一.【业务需求】有些时候一个父组件的很多方法有很多子组件都要使用 二.【代码实现】 父组件:】   methods:{ //打开模块 openModule(m, props) { var index = this.moduleIndex(m.component); if (index &amp;gt;= 0) { this.active = index; ...
vue路由切换的时候,页面没有调用在子组件中请求接口的方法 (没有在进入该路由的时候就调用方法刷新才调用(原理和解决办法))
问题:首先是在子组件的生命周期中请求了一个接口,将数据传给了父组件,但是在进入该路由的时候,发现页面并没有请求子组件中的接口,刷新才请求 问题原因是在app.vue中使用了keep-alive,keep-alive是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。这就是问题所在了。 &lt;div id="app"&gt; &lt;keep-alive&...
vue定义全局单文件组件通过use形式使用组件
我们这一次来玩一下vue中如何来定义一个全局的组件,并且通过Vue.use()来使用 首先我们应该在我们项目里面创建一个组件alert.vue,你们在玩的时候就随意啦想叫什么就叫什么,别叫床就行 如图 alert中的代码为 &amp;amp;amp;lt;template&amp;amp;amp;gt; // 定义了简单的结构 &amp;amp;amp;lt;div class=&amp;amp;quot;box&amp;amp;quot; v-if=&amp;amp;quot;
VUE单文件组件之间调用
现有2个vue单文件组件,Vif.vue和Vbind.vue,要在Vif.vue中调用Vbind.vue。 Vif.vue代码如下: &lt;template&gt; &lt;divid="app-3"&gt; &lt;pv-if="seen"&gt;现在你看到我了&lt;/p&gt; &lt;vbind&gt;&lt;/vbind&gt; &lt;/div&gt; &l...
vue 封装方法并每个页面调用
新建一个js export function activeFn(yong) { // 中英文互换 let storage=localStorage.getItem("key") if(storage=="zhCHS"){ this.ch=false this.eng=true this.$i18n.locale='zhCHS' }else { ...
在不使用全部vuejs框架,只在html中引用vue.js时,在main.js中调用其他js方法
//main.js var app= new Vue({ el:&quot;#app&quot;, data:{ }, filters:{ }, computed:{ }, mounted:function(){ this.init(); }, methods:{ init:function(){...
Vue.prototype(封装一个可全局调用的http请求-严格前后端分离)
严格前后端分离,接口路径统一存放于一个文件中 1.创建一个httpRequest.js文件封装一个axios export class HttpRequest { constructor(header) { if (!axios) throw 'axios is not defined!'; this.instance = axios.create({ hea...
Vue之mixin(全局)
全局mixin就是给全部Vue文件添加一些公用的实例(方法,过滤器and so on) 使用场景:请求方式,时间格式。这些如果在用到的页面使用的话代码会重复的很多,所以在全局混入这些实例会减少代码量,可维护性也比较高。 ex: 在main.js直接写入 Vue.mixin({ data () { return { router: '/', plusRe...
vue自定义全局共用函数
如果你需要让一个工具函数在每个组件可用,可以把方法挂载到 Vue.prototype上。 在main.js中: Vue.prototype.method = function () {} 组件中调用: this.method()
vue在全局函数中加回调,调用vue文件中的函数
全局函数可以写一个文件globalFunc.js exports.install = function(Vue, option){ Vue.prototype.setData = function(that, key){ that[key] = '222' } Vue.prototype.testCallMe = function(str){ console.log('test...
vue开发中在页面代码中一律不能使用this
<div @click='this.limitNum=this.address.length'></div>以上代码是错误的,因为当前代码的作用域就已经是this了 正确写法<div @click='limitNum=address.length'></div>
vue全局变量的几种实现方式
1.设置一个全局变量专用的js。Global.js 然后在要用的组件里引用该文件。     2.这种方式也要有一个上面的Global.js,使用方式有所区别。 将Global.js引入到程序的入口文件main.js里,如下 需要使用全局变量时,就不需要引入Global.js。直接使用this就可以了,如下     3.使用vuex vuex可以集中式存储管理应用...
axios模块在vue开发中如何使用引入,如何注册全局方法
http://www.jianshu.com/p/df464b26ae58 用法参考链接 vue.js 引入: 第一种方法  单独将调用的api接口写在一个文件中,在该文件中引入axios模块 幷写对应方法函数,在组件界面引入 对应方法即可 import config from './config' import axios from 'axios' let tconfig = {
vue css 样式本页面不起作用
问题: 解决
vue 方法调用 this指向
原文地址:https://blog.csdn.net/WatermelonMk/article/details/83060468 转载内容:1.错误代码 2.正确代码   调用的时候 把此vue对象的指向作为参数 传递给被调用的函数...
添加自定义vue全局方法,同时给自定义的方法 传递component调用其方法
项目中会遇到一个组件/方法, 在多个地方被调用,比较方便的的方式之一,this.$custom(agruments) 这样就比较方便 ,不然用组件引入的办法调用就就比较麻烦,每可能都需要这样调用   import coustom from './coustom' export default { components: { coustom } } &amp;lt;coustom :data...
浅谈VUE中的样式污染问题
在使用VUE做项目的时候,随着页面的增加,重复调用同一种组件,造成的样式污染问题不容小视。 查找了相关的资料和结合实际项目,我遇到的样式污染问题主要由以下两个原因造成: 使用了同一种组件,却在CSS中对该组件设置了不同的样式; 子元素的根元素会继承父元素的 ScopeId; 目前可以的解决方案是: 1.在写每一个.Vue页面时,一开始就将style设置为scoped(注意:scoped原理就是...
Vue自定义全局弹窗组件
写在前面 页面中会有很多时候需要弹窗提示,我们可以写一个弹窗组件,但是如果每个页面都引入这个组件,太麻烦了,所以我们将它变成全局组件,需要用的时候直接通过JS调用即可,不需要在每个页面引入了 效果图 弹窗组件 新建一个弹窗的组件——popup.vue &lt;template&gt; &lt;transition name='fade'&gt; &lt;!-- 蒙版 --&gt; ...
VUE 爬坑之旅 -- 用 ES6 语法写一个工具类,并全局引用
在我前面的有一篇文章里有说过怎么引入外部的 JS 文件,详情见 VUE 爬坑之旅– 如何对公共JS,CSS进行统一管理,全局调用 。这里所说的外部 JS 文件指的是用 ES6 之前的老语法编写的各种 JS 代码,这种 JS 文件可以用我上面那篇文章里面的方法引入,使用方法跟以前一样。 但是现在是新的时代,还是用以前的老东西未免有点过时了,而且很多以前的那种 JS 文件其实都是要依赖 JQuery...
vue中全局引入sass文件记录
首先安装相关依赖: npm install node-sass --save-dev npm install sass-loader --save-dev cnpm install style-loader --save-dev npm install sass-resources-loader --save-dev config文件夹下util.js更改scss的值: s...
vue项目中某一页面不想引用公共组件app.vue解决办法
Vue 单页面应用 把公共组件放在 app.vue 但是我希望某个页面没有这些公共组件怎么办(比如登陆页面)每个页面都有 导航栏 但是我希望 登陆页面只有一个背景色和一个登陆框 没有导航栏 那应该怎样设置呢? vue中文文档:https://router.vuejs.org/zh/guide/essentials/dynamic-matching.html#%E5%93%8D%E5%BA%94%...
在vue-cli模式下,单个vue组件引入外部框架的css,而不干扰其他组件的方式
  单独放在style里,不管引入的css在前还是在后,前面两种都是有效的 引入的css如果想放在同一个style里 ,必须前置