Vue.js 如何从外部更改vue数据?

Vue.js 如何从外部更改vue数据?,vue.js,vuejs2,nativescript-vue,Vue.js,Vuejs2,Nativescript Vue,我在导出默认值对象之外有一个函数。如何使停止按钮在1秒后变为播放按钮 简而言之:我想将playingStatus更改为false超出范围 请检查 函数playForAWhile(){ 设置超时(停止,1000); } 函数停止(){ 播放状态= false;//作用域错误…如何从外部更改vue数据? } 导出默认值{ 数据(){ 返回{ 播放状态:错误 }; }, 方法:{ startFunc(){ this.playingStatus=true; playforawile(); } }

我在导出默认值对象之外有一个函数。如何使停止按钮在1秒后变为播放按钮

简而言之:我想将
playingStatus
更改为
false
超出范围


请检查

函数playForAWhile(){
设置超时(停止,1000);
}
函数停止(){
播放状态=
false;//作用域错误…如何从外部更改vue数据?
}
导出默认值{
数据(){
返回{
播放状态:错误
};
},
方法:{
startFunc(){
this.playingStatus=true;
playforawile();
}
}
};
或者,不用从外部更改变量,如何在没有vue对象的情况下切换图像。
提前感谢。

您根本不应该尝试从外部更改数据。仅使用组件方法即可实现目标,例如:

export default {
  data() {
    return {
      playingStatus: false
    };
  },
  methods: {
    playForAWhile() {  // execute this on tap
      this.playingStatus = true;

      // rest of the playing code

      setTimeout(() => {
        this.playingStatus = false;
      }, 1000);
    }
  }
};

将函数与此组件的方法相匹配。通过这种方式,您可以操作其数据;)你是说“停止”功能吗?是的,确切地说,你为什么需要在组件外部使用它?您希望实现什么?现在未定义停止。我认为在vue对象和脚本part.Method.call(这个:vue,…arcs)
playForAWhile
函数象征着4000多行代码之间一定有一种连接方式。Vue仅对播放和停止按钮负责。按钮是软件中唯一的反应部件。哦,这又是另一回事了…:DOkay所以你想从这个组件外部控制按钮的外观,那么传递一个
playingStatus
prop怎么样?我怎么能在同一个文件中传递一个prop呢?所以你最终在同一个文件中有这个。那你为什么不把
playForAWhile
作为一个组件方法呢?这样可以更改组件状态。