草庐IT

javascript - 使用 aria-live 在 vue.js 中向屏幕阅读器发布信息

我正在尝试让一个vue组件在我的网站上发生不同事件时动态地向屏幕阅读器宣布信息。我让它工作到单击按钮将填充aria-live="assertive"和role="alert"文本的范围。这第一次工作得很好,但是,单击具有类似行为的其他按钮会导致NVDA在阅读新文本之前阅读以前的文本两次。这似乎发生在vue中,但使用jquery的类似设置却没有发生,所以我猜它与vue呈现给DOM的方式有关。我希望有某种方法可以解决此问题,或者可能有更好的方法将文本读给不会有此问题的用户。非常感谢任何帮助。Hereisasimplecomponent我在工作代码沙箱中设置以显示我遇到的问题(导航至comp

javascript - 全局修改axios默认 header 时出现问题 - Vue

在ma​​in.jsimportaxiosfrom'axios';axios.defaults.headers.common={'Authorization':'JWT'+Vue.auth.getToken()};axios.defaults.baseURL=process.env.VUE_APP_BASE_URL;//TODO:appendthetrailingslash//AddmodifiedaxiosinstancetoVueprototypesothattobeavailablegloballyviaVueinstanceVue.prototype.$http=axios;到

javascript - Vue.js 中的内联反转 bool 值 @click

对于一个简单的演示,我想反转我在Vue.js实例的数据属性中定义的bool值。我尝试过的:Toggle和Toggle我想避免编写单独的方法或在我的v-on:click="":spanVisible中包含类似的东西?!spanVisible:!spanVisible因为它只是多余的。所以现在我的问题主要是:为什么直接反相不起作用?我还有什么其他的可能性可以让它简短明了?编辑:我现在发现的最短的可能变体是使用spanVisible=!spanVisible,但不确定这是否是可用的最简洁的版本。解决方案:@Sombriks在评论中提出了我找到的最佳解决方案:使用@click="!spanVi

javascript - vue 2、typescript、mocha 和 karma 的代码覆盖率

我们将Vue2与Typescript和webpack3结合使用。Vuex用于状态管理。我们的测试与Karma以及Mocha、Sinon、Expect和Avoriaz一起运行。一切都很好,但我尝试使用Istanbul获得代码覆盖率,以更好地直观表示缺少哪些测试。文件夹结构的小型表示来源组件分享按钮按钮.vue按钮.tsindex.ts...测试单位组件分享按钮按钮.spec.test.tskarma.conf.jskarma.coverage.jsindex.ts...按钮.vuebutton.tsimport{Component,Prop,Vue}from'vue-property-d

javascript - Vue.js + Vuex : How to mutate nested item state?

假设我有以下树:[{name:'asd',is_whatever:true,children:[{name:'asd',is_whatever:false,children:[],},],},],树通过Vuex存储在键“树”下的模块中,并使用以下称为“递归项”的递归组件循环:{{item.name}}onoff现在我想切换项目的属性'is_whatever',所以我附加了一个监听器onoff当我点击它时,它可以工作,但会发出以下信号"Error:[vuex]Donotmutatevuexstorestateoutsidemutationhandlers."[vuex]Donotmuta

javascript - 如何使用 webpack 2.7 将 Vue.js 置于生产模式?

我有一个现有代码库,其中Vue.js存在性能问题。我还在浏览器控制台中看到此通知:所以我想一个简单的解决方法是将Vue置于生产模式。在thesuggestedlink我尝试按照webpack的说明进行操作。我们使用的是Webpack2.7版(当前稳定版是4.20)。在说明中说,在Webpack3及更早版本中,您需要使用DefinePlugin:varwebpack=require('webpack')module.exports={//...plugins:[//...newwebpack.DefinePlugin({'process.env.NODE_ENV':JSON.string

javascript - 从 Vue.js 中的父组件执行子方法

目前,我有一个Vue.js组件,其中包含其他组件的列表。我知道使用vue的常见方式是将数据传递给child,并从child向parent发送事件。但是,在这种情况下,我想在单击父中的按钮时在子组件中执行一个方法。哪种方法最好? 最佳答案 一个建议的方法是使用globaleventhub.这允许有权访问集线器的任何组件之间进行通信。这是一个示例,展示了如何使用事件中心来触发子组件上的方法。vareventHub=newVue();Vue.component('child-component',{template:"The'clicke

javascript - 使用 AVA 和 Avoriaz 在 Vue.js 中测试计算属性

我正在尝试使用AVA和Avoriaz测试Vue.js组件的计算属性。我可以挂载组件并正常访问数据属性。当我尝试访问计算属性时,该函数似乎没有该组件上数据的作用域。computed:{canAdd(){returnthis.crew.firstName!==''&&this.crew.lastName!=='';}我得到的错误是Error:Cannotreadproperty'firstName'ofundefined测试文件:importVuefrom'vue';import{mount}from'avoriaz';importtestfrom'ava';importnextTickf

javascript - Vue - webpack vue-loader 配置

每当我想构建一个文件时,我总是收到错误。这是什么原因呢?似乎.vue文件无法被webpack识别,但webpack配置文件看起来正常。网络包错误bundle-app.js189kB1[emitted]app+12hiddenmodulesERRORinUnexpectedtoken>@./app/application.js7:11-31webpack.config.jsvarpath=require("path");module.exports={context:path.join(__dirname,'src'),entry:{app:'./app/application.js'}

javascript - Vue 组件 Vue-Instant

我刚刚安装了vue-instant来为搜索提供自动建议并获得这样的示例代码https://jsfiddle.net/santiblanko/dqo6vr57/我的问题是如何将组件'vue-instant':VueInstant.VueInstant移动到像这样的新Vue组件:Vue.component('vue-instant-component',{//vue-instant}我试过这样的:Vue.component('vue-instant',{data:{value:'',suggestionAttribute:'original_title',suggestions:[],se