原文链接
前言
在基于iView的后台项目中,表格组件是我们的老朋友了。实现如下的效果更是最基本的需求:
开始
在iView早期1.x的版本(其实在~2.0.0-rc.7也能使用),想要渲染这样的效果,代码如下:
升级2.x后,Table组件的render()也作了更改:
vue官方文档(render()):/v2/guide/render-function.html
实践
在早期的版本中,我们可以将Table的column单独作为一个js文件,在页面中引入即可。避免页面内容过多,方便管理。
但是升级2.x之后,无法根据模板字符串进行渲染,也就无法直接调用页面中的方法。因为在外部引入的文件中,this的指向并不是当前的页面实例了。
那我们想把Table的column这部分内容分离开来,又该如何去做呢?
我们应该如何在外部的js文件中获取页面(该页面引用了该外部js)的对象呢?
如果我们能够把页面的实例传递到外部的js文件中,然后在外部js文件里是不是就可以使用了呢?
传递?应该怎么传?
什么可以传递值呢?
函数,将页面实例作为一个参数,在页面引用该外部js文件时,把当前的页面实例传递过去。
总结
遇到问题,多在纸上写几遍,有时候就突然想到了一个点,而且,它一直就在。
嘘寒问暖 不如打笔巨款~