草庐IT

javascript - 如何在 vuex 商店中使用 vue-resource ($http) 和 vue-router ($route)?

在我从组件的脚本中获取电影细节之前。该函数首先检查商店的电影ID是否与路由的参数电影ID相同。如果相同则不要从服务器API获取电影,否则从服务器API获取电影。它运行良好。但现在我正试图从商店的突变中获取电影细节。但是我收到错误UncaughtTypeError:Cannotreadproperty'$route'ofundefined如何使用vue-router($route)访问参数和vue-resource($http)从vuexstore的服务器API获取?store.js:exportdefaultnewVuex.Store({state:{movieDetail:{},},

javascript - 如何在组件链上传播 Vue.js 事件?

我确实有三个组成部分。我对Datatable组件的作用没有任何影响,因为我从npm获得了它。现在我想从EditButton发送一个事件到我的Zonelist。Zonelist组件:importdatatablefrom'vuejs-datatable';importmomentfrom'moment';exportdefault{data(){return{table_columns:[{label:"Zone",component:'ZoneLink'},{label:"Lastupdated",callback(row){letlocale=$('html').closest('[

javascript - 如何在 Vue.js 模板中定义一个临时变量

这是我当前的模板:10}">{{rowLenMap[orderList[n-1]]}}问题是我要多次写rowLenMap[orderList[n-1]],我怕vue.js引擎也会计算多次。我想要的是这样的:10}">{{rowLen}}我认为在技术上实现起来并不难,因为它可以通过使用类似v-for="rowLenin[rowLenMap[orderList[n-1]]]"的方式笨拙地解决。那么有没有什么简洁官方的解决方案呢? 最佳答案 我找到了一种非常简单(几乎神奇)的方法来实现这一目标,它所做的只是定义一个内联(本地)变量,其中包

javascript - Vue.js 如何从 Json 属性获取键(左侧值)。

我有一个看起来像这样的对象:{"id":1,"name":"Customer","parks":{"1":"Parka","23":"Parkb","7":"Parkc","83":"Parkd"},"users":{"11":"user@customer.com"}}parks和users左边的值不是索引,而是公园的实际id。我如何在Javascript中访问这个值?目前我使用Vue.Js,所以我将这样的值绑定(bind)到一个组件:但是,这只会绑定(bind)右侧的park值,即名称“parka”。我也需要能够访问左侧。如果在html中不能通过Vue,可以在脚本中完成吗?即如果我有

javascript - 如何只触发一次 vue 方法,而不是每次

即使在更改时我也在处理轮换:exportdefault{data:{rotate=0},methods:{handleRotate(){this.rotate=this.rotate+this.getRotateAngle(e.clientX,e.clientY)}}}现在,第二个this.rotate在每个change上运行。我该怎么做才能使第二个this.rotate仅在第一次handleRotate运行时应用? 最佳答案 用Vue方式解决:您可以使用$once,它将监听一个事件,但只监听一次。Listenforacustome

javascript - 从 vue 中的子组件访问 key

根据Vuedocs,在v-for中使用自定义组件需要绑定(bind)一个键:我想在子组件(task-card)中使用该键,但既不使用this.key也不添加key作为Prop(是Vue的保留关键字)有效。有没有办法在不传递另一个值为“i”的Prop的情况下做到这一点?目前正在使用"vue":"^2.5.9"。 最佳答案 如果你想将数据传递给child,你应该使用Prop(key是保留的,所以你必须给它命名)。否则,您可以通过this.$vnode.key访问组件内vnode上的key。Vue3对于Vue3,API已更改。您需要像这样

javascript - 在 Vue.js 中隐藏 div onclick

以下jQuery的Vue.js等价物是什么?$('.btn').click(function(){$('.hideMe').hide()}); 最佳答案 jQuery开箱即用,Vue.js则不然。要初始化Vue.js组件或应用程序,您必须将该组件及其数据绑定(bind)到模板中的一个特定HTML标记。在此示例中,指定的元素是并通过el:#app定位.你将从jQuery中了解到这一点。在声明了一些保存切换状态的变量之后,在本例中为isHidden,初始状态为false并且必须在data中声明对象。其余的是Vue特定的代码,如v-on:

javascript - (Vue.js) 相同组件不同路由

我想在Vue.js应用程序中为不同的路由使用相同的组件。我目前有这样的东西:ma​​in.jsconstroutes=[{path:'/route-1',name:'route-1',component:MyComponent},{path:'/route-2',name:'route-2',component:MyComponent},{path:'/route-3',name:'route-3',component:MyComponent},]constrouter=newVueRouter({routes})我的组件.vueRoute1Route2Route3当我在浏览器中手动输

javascript - this.$root.$emit 在 Vue 中不起作用

我想在根组件上发出一个事件,并在根组件中监听。在子组件的子组件中,我这样做:this.$root.$emit('access-token',accessToken);在根组件(顶级组件,第一个加载)中我这样做(编辑:这是在mounted()方法中):this.$on('access-token',this.setAccessToken);虽然它不会对事件使用react。为什么? 最佳答案 您没有为事件$on使用$root改变这个:this.$on('access-token',this.setAccessToken);为此:this

javascript - 如何正确使用带有 lodash debounce 的 Vue JS watch

我正在使用lodash在组件上调用去抖功能,如下所示:...import_from'lodash';exportdefault{store,data:()=>{return{foo:"",}},watch:{searchStr:_.debounce(this.default.methods.checkSearchStr(str),100)},methods:{checkSearchStr(string){console.log(this.foo)//问题1是我的方法checkSearchStr不知道foo问题2是我的商店也是undefined为什么我的方法在通过_.debounce调用