小编hid*_*dar的帖子

如何在vue.js中发出响应之前等待axios响应

我在vuejs中有一个小组件用于文件上传(使用axios)。我正在尝试从文件上传中发出响应,如下所示:

methods: {
  ...
  upload (){
    axios.put(URL).then(response => {

    console.log('response', response)
    this.$emit('uploaded', response)

    }).catch(error => {

    })
  }

}
Run Code Online (Sandbox Code Playgroud)

但是在这段代码中,即使console.log()响应显示正常,emit也显示了undefined。我认为在响应准备好之前就已经调用了发射器。

无论如何,有使用async / await解决此问题的方法吗?

javascript async-await vuejs2

4
推荐指数
1
解决办法
4750
查看次数

vuejs中如何隔离可复用的小函数

我有一个函数,可以说生成一个用于生成令牌的随机字符串。我有这个功能,我methods:{}在我的 div 中使用它没有任何问题。

但是我试图将这个函数放在它自己的单独文件中,以便我可以导入它以备将来使用,所以我将一个functions.js文件放入我的文件中,src如下所示:

// /src/functions.js
export default {
    // generate tokes
  tokenGenerator () { ... }

}
Run Code Online (Sandbox Code Playgroud)

在我中,src/components/foo.vue我正在导入此文件(导入没有问题)

<template>
 <div> {{ tokenGenerator }} </div>
</template>

<script>
import tokenGenerator from '../../functions'
export default {
   data() {
      return ;
   }
}
</script>
Run Code Online (Sandbox Code Playgroud)

这应该工作,但它没有。导入不是问题,而是其他问题.. 控制台错误显示它找不到函数 tokenGenerator

javascript vuejs2

3
推荐指数
1
解决办法
755
查看次数

Vuejs在数据之前显示评估v-if

好吧,问题很模糊,但我有一个代码如下:

<template>
  <div>
      <p v-if="users" v-for="user in users"> {{ user.name}} </p>
      <p v-else> No users found</p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        users: null
      }
    },

    created() {
      var that = this 
      axios.get('...').then(response => {
          that.users = response.data
      }).catch(error => { .... })
    }
  }
</script>
Run Code Online (Sandbox Code Playgroud)

因此,actuall脚本没有问题,它加载用户并正确显示它.但是,我总是看到No users founds之前vuejs加载用户.我不想看到那些消息,除非users是,null但似乎vue并不等待它显示之前是真的v-else.

有没有适当的方法来处理这个问题

vue.js vuejs2

3
推荐指数
1
解决办法
2487
查看次数

调用 git fetch 后如何查看更改的文件

如果两个人在 github 上的同一个存储库和同一个分支 master 上工作。然后说 A 将他们的更改推送给 master,而我作为 B,我如何在调用后检查更改的文件git fetch

如果我做:

git fetch
git merge master origin/master
Run Code Online (Sandbox Code Playgroud)

我得到这一行:

aa@DESKTOP-KQQ0A3T MINGW64 ~/..
$ git merge master origin/master
Merge made by the 'recursive' strategy.
 src/main.js | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
Run Code Online (Sandbox Code Playgroud)

我喜欢src/main.js以这种方式描述差异的方式,但该信息仅在我合并时出现,所以我的问题是,在进行合并之前,我应该使用什么命令来查看有关差异的相同信息?

git git-merge git-fetch

3
推荐指数
1
解决办法
3435
查看次数

出口默认情况下'name'的目的/用途是什么?{}

我正在学习vuejs,我无法理解为什么需要这个名字.

<template>
</template>
<script>
  export default {
    name: 'NotFound'
  }
</script>

<style>
</style>
Run Code Online (Sandbox Code Playgroud)

例如,您可以在此文件中看到上述代码的来源https://github.com/misterGF/CoPilot/blob/master/src/components/404.vue 这个名称什么都不做,但为什么我们需要它.

javascript node.js ecmascript-6 vue.js

2
推荐指数
1
解决办法
47
查看次数

vee-验证如何设置两个数字之间的数字限制?

我试图限制用户可以在3-6之间输入的位数.

出于某种原因,我找不到如何做到这一点.

这是我必须强制用户添加三位数的代码

<input type="text"  name='account-field-3' v-validate="'required|digits:3'" placeholder="6" class="form-control" > 
Run Code Online (Sandbox Code Playgroud)

但我需要的是3-6之间.

vue.js vuejs2 vee-validate

2
推荐指数
2
解决办法
7130
查看次数

如何检查对象道具是否具有必需的对象属性

我将对象传递给我的组件为:

<foo :ob='object'></foo>
Run Code Online (Sandbox Code Playgroud)

在我的组件中,我有以下声明:

props: {
  ob: {
    type: Object,
    required: false, 
    default: {}
  }
}
Run Code Online (Sandbox Code Playgroud)

通常,期望传递的对象是这样的:

{

  bar: [],
  tar: {
    a: false,
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,如何在道具中确保传递的对象相似。我不需要检查值,我只需要知道它包含对象键,bar,tar和tar内部的属性,即:a

vue.js vuejs2

2
推荐指数
1
解决办法
557
查看次数

如何仅在页面加载后启动观察者。

我有一个观察者调用类似的方法

watch: {
  'list.items' (n, o) {
     this.doSomething()
   }
}
Run Code Online (Sandbox Code Playgroud)

问题是,每当页面加载时,我都会将新值推入list.items

methods: {
  fetchLists(){
    axios.get('/').then(
      res =>  {
       this.items.push(res.data) 
    };
  }
}
Run Code Online (Sandbox Code Playgroud)

我在创建中调用 fetchLists 为:

created () {
  this.fetchLists()
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是this.doSomething()当 list.items 更改后页面加载时观察者调用,但我不想观察者只在初始页面加载后调用 doSomething

vue.js vuejs2

2
推荐指数
1
解决办法
726
查看次数

如何全局或从一个角度管理axios错误

我在我的应用程序中都有标准的then / catch axios代码,一个简单的例子就是这样。

axios.get('/').then( r => {} ).catch( e => {} )
Run Code Online (Sandbox Code Playgroud)

上面的问题是我必须复制该catch()块以处理可能在我的应用程序中调用的任何潜在错误,而我的问题是,是否可以采取任何措施从入口点(相对于全局)捕获错误到处使用捕获。

我正在从axios端或vue寻找解决方案,因为我的应用是使用vue构建的

javascript try-catch promise axios vuejs2

1
推荐指数
2
解决办法
1292
查看次数

如何从文件中导出多个对象

我有一份食品和饮料清单,我想从这样的文件中导出:

// example.js
var foods = ['', ''];
var drinks = ['', ''];
Run Code Online (Sandbox Code Playgroud)

我想导出那些,所以我可以导入它们:

import {foods, drinks} from './example.js'
console.log(foods); // ['', '']
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何在第一个示例中导出它们以在第二个示例中获取它们

通常我从一个文件导出一个对象,但是有效,但多个我不确定

javascript ecmascript-6

1
推荐指数
2
解决办法
484
查看次数