Vue 跳转相同路由不同参数,解决页面数据不自动刷新
watch: {
//监听相同路由下参数变化的时候,从而实现异步刷新
'$route'(to,from){
this.initData();
},
},
vue 项目, 父组件中每次点击按钮重新加载子组件,(重新生成dom 元素)
根据这个原理我们可以给key 直接绑定一个 时间戳
父组件
<template>
<div>
<div>
<h1>父级</h1>
<button @click="handleLoad">点击重新加载子级</button>
</div>
<children :key="timer"></children>
</div>
</template>
<script>
import children from '@/components/parent/children'
export default {
name: 'parent',
components: { children },
data () {
return {
timer: ''
}
},
methods: {
handleLoad () {
this.timer = new Date().getTime()
}
}
}
</script>
---------------------
子组件
<template>
<div>
子级
</div>
</template>
<script>
export default {
name: 'children',
data () {
return {}
},
created () {
console.log('重新加载啦')
}
}
</script>
---------------------
版权声明:本文为CSDN博主「泥猴桃」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shi851051279/article/details/92802027
table表格默认全部选中
获取到数据以后
this.$nextTick(()=>{
for(let i = 0;i<this.peopleList.length;i++){
this.$refs.multipleTable.toggleRowSelection(this.peopleList[i])
}
})
要在table上面加上 ref="multipleTable"
Vue input 监听
使用 v-on:input="change" 实现即可
App.vue
<template>
<div>
<md-field>
<label>Initial Value</label>
<md-input v-model="initial" v-on:input="change"></md-input>
</md-field>
</div>
</template>
<script>
export default {
name: "TextFields",
data: () => ({
initial: "Initial Value"
}),
methods: {
change() {
console.log(this.initial)
}
}
};
</script>
Vue.$set()的使用方法
受现代 JavaScript 的限制 (以及废弃 Object.observe),Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。
官方定义:
Vue 不允许在已经创建的实例上动态添加新的根级响应式属性 (root-level reactive property)。然而它可以使用 Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上:
//对象复制
cloneObjectFn (obj){ // 对象复制
return JSON.parse(JSON.stringify(obj))
},
let oldObj='';
let newObj='';
oldObj=this.cloneObjectFn(val);
newObj=this.cloneObjectFn(this.formList.ajqkBgRenList[index-1]);
this.$set(this.formList.ajqkBgRenList,index,newObj);
this.$set(this.formList.ajqkBgRenList,index-1,oldObj);
JS将中文括号转换为英文括号
aaa(srt){
var reg = /[\(]/g,reg2 = /[\)]/g;
srt = srt.replace(reg,"(").replace(reg2,")");
return srt
}