情况是这样,打算用this.$message提示信息,然后里面放上自己自定义的组件private-table,然后组件里用到了vuex,也就是this.$store里的数据,但是是undefined,请问出现这个问题的原因是啥,怎么解决?
const h = this.$createElement
this.$message({
message: h('div', {}, [
h('div', {}, ['导入失败,Excel中存在重复信息:']),
h('private-table', {
props: {
table: {},
columns: [],
data: res.result,
'i-header-cell-style': 'height:36px;padding:0px;background-color:#FAFAFA;color:#333333;'
}
})
]),
type: 'error'
})
vue2里,element-ui的message
是通过Vue.extend
动态创建的,是一个独立的vue实例,不共享router、store这些项目初始实例才有的属性
如果都是用this.$message
的形式调用的话,可以重写这个方法,在其通过Vue.extend
创建message
组件时,把项目初始实例传入parent
选项中
或者改造private-table
,把用到的router、store
都是用import
的方式手动引入
const h = this.$createElement;
this.$message({
message: h('div', {}, [
h('div', {}, ['导入失败,Excel中存在重复信息:']),
h('private-table', {
props: {
table: {},
columns: [],
data: res.result,
store: this.$store,
'i-header-cell-style': 'height:36px;padding:0px;background-color:#FAFAFA;color:#333333;'
}
})
]),
type: 'error'
});
private-table组件:
<script>
export default {
props: {
// ...
store: Object
},
created() {
console.log(this.store);
}
};
</script>
场景是这样的,一张新建/编辑页,编辑页的数据是接口获取的。页面里的表单元素里有一些复杂的计算逻辑,请问: 1.计算逻辑是写在methods里,然后表单元素change或者input的时候调用它,还是直接写在computed里计算它? 2.我一开始是这么写的,computed计算出需要的结果a,b,c,d(且这四个值又能通过表单元素被修改,如input)。然后watch监听a,b,c,d的变化,赋值
用的编辑器是webstorm,发现在node modules里打断点没用。
举例说一下,比如有2个函数,我要对他们做相同的前置判断条件。
怎么让span相对于最外层的div固定定位?(fixed),为什么最外层div的postion设置为了relative,span的postion设置为fixed,top:0,right:0后,会跑到整个页面的右上角?
场景是这样的,我们的单据新建页点击提交按钮后,拿到单据ID,然后根据单据ID触发工作流初始化接口获取到工作流人员信息。问题在于,点击提交后,该怎么展示选人比较好,一个弹框?或者在原有页面下新增选人信息?更或者关闭当前页,在另一个页面弹框选人?想听听各位的想法,你们业务上是怎么做的。
现在是这样,所有页面都被包在一个容器里,而这个容器写了background-color和padding,但是我希望在某一个页面里,不需要设置这两个,该怎么做最优?我想到的是js获取dom元素修改。