关于英文资料应用能力晋级

关于英文资料应用能力晋级
 
做开发很多前进的技术与理念是国外的,当这个技术还很新的时候国内一般是没有多少资料的这时候就要从国外的网站找资料了。尽管在以前我也装逼自己有国际化学习能力,但是说这话自己都感到心虚。今天悟到一个起点:用google搜技术关键词。
 
详细说一下吧:
我要在controller中用this.control监听grid中actioncolumn元素的点击事件,好我们用百度搜“怎么在controller中用this.control监听grid中actioncolumn元素的点击事件”。没有几篇干货,多数是只言片语,就那么几个关键点都提到了,但是没有完整的连起来,我猜想是国人做的笔记供自己看的(因为我也这样哈,所以以后不成熟的东西就不发出来了,免得误导别人被别人在心里问候祖宗,备忘笔记就留给自己看)。
 
那我们去国外网站找找,第一步打开google,要把“怎么在controller中用this.control监听grid中actioncolumn元素的点击事件”这句话翻译成中文对我有难度,而且就算我翻译出来也不知道外国人遇到这样的问题是不是这样问的(注1)。
 
this.control({   
    '#antiStealList [eventHook=j-addOneData]': {
        click:this.addOneData       
    }
});

假设你已经很熟练使用 this.control 在controller中监听view中的事件,好那我们搜‘Ext this.control actioncolumn’这几个关键字。哇有用的资料很多,老外解决问题比较彻底,因为所以怎么个事他都将,甚至还给出了demo。

来我们分享一下过程,顺便给需要这个技术点的同学们一个解释,希望我的解释能像老外给我的映像一样给你。

首先this.control中的过滤是对整个页面的component中过滤的,所以#antiStealList是我当前的view,然后后面是针对component的过滤,为什么像面那样不管用呢,这篇帖子给出了答案,http://stackoverflow.com/questions/12716675/how-to-perform-view-controller-separation-when-using-an-actioncolumn-ext-grid,其中有这么一句“

The problem is not in actioncolumn but in its items which are not ExtJs Widgets. This items are simple images. That's why we cannot assign handlers in control in such a way:

this.control({'mygrid actioncolumn button[type=edit]':this.onEdit

”这句我能看懂,是说actioncolumn中的可点击的那些个小按钮只是一个图片,不是component(组件),不能像上面那样去监听。然后有这么一句话“Unfortunately this way is impossible. But There is another way, which is almost as clean as the preferred one: make actioncolumn handler to fire grid's custom event”我又看懂了:“很不幸这个方法不行,但是我们还有另外一个方法,一个较为简洁的方法,用actioncolumn的handler触发grid的客户事件”。然后给出了demo的链接:http://jsfiddle.net/molecule/g3prq/,再付张截图:

这个问题就完美解决了,重要的是我们学会了方法。

 
 
注1:有一篇帖子中的内容很有干货,人家是这么问的:How to perform View-Controller separation when using an “actioncolumn”,我现在是没能力翻译到这个程度,你要是有那下面的就不用看了,绕行吧...
 
 
posted @ 2013-09-24 15:29  龙则  阅读(314)  评论(0编辑  收藏  举报