草庐IT

vue-helper

全部标签

javascript - Vue.js 交换数组项

在我的vue.js应用程序中,我尝试像这样交换2个论坛行:exportdefault{data(){return{forums:[]}},methods:{increment(forum,index){ForumService.increment(forum).then(()=>{letb=this.forums[index];this.forums[index]=this.forums[index++];this.forums[index++]=b;});}}}但是没有任何反应?我在这里做错了什么? 最佳答案 虽然@dfsq关于i

javascript - 在具有多个嵌套对象的对象中使用 Vue.set

我正在尝试使用Vue.set()更新Vue2中的状态对象。这是对象的样子:state:{entries:[//entry1fields:{someProperties:''//hereIwouldliketoaddanotherpropertynamed'googleInfos'}],[//entry2fields:{someProperties:''//hereIwouldliketoaddanotherpropertynamed'googleInfos'}]}到目前为止,我正在用这个突变更新它。我正在分别改变每个条目,因为它们有不同的内容。ADD_GOOGLE_INFOS(stat

javascript - 如何在 Vue.js 中取消绑定(bind)数组副本

我正在尝试将一个数组复制到另一个数组并像使用新数组一样使用它,而不对旧数组进行任何更改:TestinputtestArray:{{testArray[0]|json}}templateArray:{{templateArray[0]|json}}newVue({el:'#app',data:{testArray:[],templateArray:[{name:"TEST"},],},ready:function(){this.testArray=this.templateArray.slice(0);},});问题是我正在更新新数组“testArray”,我还更改了旧数组“templa

javascript - 在 vue.js 中更新数据属性/对象

有没有办法以编程方式更新vue.js中的data对象/属性?例如,当我的组件加载时,我的数据对象是:data:function(){return{cars:true,}}在触发事件后,我希望data对象看起来像:data:function(){return{cars:true,planes:true}}我试过:module.exports={data:function(){return{cars:true}},methods:{click_me:function(){this.set(this.planes,true);}},props:[]}但这给了我错误this.setisnota

javascript - Vue.js 无法读取 null 的属性 'length'

如果我这样做:面板不会隐藏。如果我单独检查socialiteLogins===null,或者使用==,它们都会返回对象不为空。它绝对是空的。如果我将它转储到页面上,我会得到[]作为结果。它是一个空的json对象。所以如果我试试这个:面板仍然没有隐藏,我得到这个错误:Cannotreadproperty'length'ofnull但是如果我这样做:它完美地隐藏了面板,在初始加载时没有任何警告,但是当我稍后更新socialiteLogins变量时,如果它再次返回一个空的json对象,我会收到长度警告。知道为什么吗?编辑:添加到它...如果我这样做:它在初始加载时显示,即使没有,但如果我在页

javascript - 如何将 vanilla .js 添加到自定义 Vue 组件

我正在尝试添加一个简单的date-picker到自定义vue组件。我没有使用webpack,所以我想避免使用现成的.vue组件,我更愿意了解如何将简单的javascript添加到vue。我正在关注thisofficialvuetutorial我也看过thiscodepen但我无法让日期选择器出现。这是我的jsfiddle:HTML:应用程序.js:Vue.component('date-picker',{extends:Flatpickr,mounted(){this.Flatpickr(date-elem,{})}})如何在不需要.vue文件、webpack等的情况下轻松地将vani

javascript - 单击按钮时 Vue : How to call . focus()

我昨天才开始使用vue.js编码,我不知道如何在不使用“传统”JS方式(即document)的情况下“关注”文本框。getElementById('myTextBox').focus().最初,我的文本框是隐藏的。我有一个“开始”按钮,当用户点击它时,会显示文本框,我想在那里设置focus,可以这么说。我已经尝试使用ref,但无济于事(请参阅下面的代码)。HTML:Javascriptexportdefault{name:'game',methods:{startTimer(){setTimeout(function(){/*.focus()won'tworkwithoutthis*/

javascript - Vue-test-utils:在单个测试中多次使用 $nextTick

我正在为vuelidate编写单元测试在我的组件中进行验证。我发现$touch()方法是异步调用的,所以我需要为expect()使用$nextTick()。当我需要两个nextTick()s用于两个expect()s时,问题就出现了。describe('Validations',()=>{letdataletmyComponentbeforeEach(()=>{data=()=>{propertyABC='notallowedvalue'}myComponent=localVue.component('dummy',{template:'',validations,data})it('

javascript - Vue,有没有办法在没有 URL 参数的情况下在路由之间传递数据?

我正在研究如何在我的Vue2应用程序中不使用URL参数的情况下在两个单独的组件(不是父组件和子组件)之间secret传递数据。这并不意味着我在传递secret,而是我只是不想让用户看到它(仅出于UI考虑)。我知道Vue有Props但它们用于在父组件和子组件之间传递数据。在我的例子中,我的URL会改变,但我不想通过可见参数传递数据。有人声称使用没有URL参数的Prophere但我无法重现有效的解决方案(每次都未定义)。我还查看了these选项,但它们都使用我们知道可见的URL或查询参数。一个丑陋的解决方案是将数据写入本地存储,然后在那里读取它,但这会产生大量的开销和复杂性(比如如果我只希

javascript - 防止 ASP.NET MVC 在 Html Helper ID 中用下划线替换句点

刚升级到最新的ASP.NETMVC候选发布版后,我注意到,在使用HtmlHelpers时,任何带有句点“.”的名称。当输出元素的ID时,它会将其替换为下划线“_”。我相信这是toaidinusingJQuery并且使用期间是为了辅助ModelBinders的使用。这破坏了我们所有使用原型(prototype)的javascript,因为ID都已更改。有没有办法轻松关闭此功能? 最佳答案 摘自ASP.NETMVCRC1发行说明(第15页)。Inthisrelease,bydefaultthedotcharacterisautomati