浏览 3947 次
锁定老帖子 主题:prototype class問題
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-04
我希望FormExt.submit()會新增一個AjaxRequest的Object 而當AjaxRequest.onComplete時,則會自動call FormExt() 是否必須把FormExt的object以參數形式傳入AjaxRequest嗎? var FormExt = Class.create({ initialize: function(id){ this.id=id; this.obj=$(this.id); this.ajaxObj=''; this.eventSubmit=this.submit.bindAsEventListener(this); Event.observe(this.id, 'submit', this.eventSubmit); }, submit:function(e){ this.ajaxObj=new AjaxForm(this.id); this.ajaxObj.startAjax(); break; }, reset:function(){ this.obj.reset(); } }); var AjaxRequest = Class.create({ initialize: function(id){ this.frmObj=$(id); this.ajaxObj=''; }, startAjax: function(){ this.ajaxObj = new Ajax.Request( 'abc.php',{ onComplete:this.onComplete.bind(this) } ); } onComplete:function(){ alert('complete now'); } }); 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-11
恩最好将Class FormExt的实例传进去 要不就设置一全局变量保存FormExt的每个实例 之后onComplete调用全局变量的值 # submit:function(e){ # this.ajaxObj=new AjaxForm(this); 这里传进去FormExt实例最好了 # this.ajaxObj.startAjax(); # break; # }, |
|
返回顶楼 | |
发表时间:2008-03-13
但這個合乎OO的concept嗎?
A object下產生了B object,然後把A object pass進B object,感覺怪怪的 |
|
返回顶楼 | |
发表时间:2008-03-13
如里这么想的话我也感觉怪怪的呢 不过俺觉得能实现功能就好 而且你想想在java语言中要实现这样的功能 是否会避免这个问题呢? |
|
返回顶楼 | |
发表时间:2008-03-13
我不懂java,也不太懂OO...只是自學而已...
因此想知道一個比較合乎OO的方法 所以你問我"而且你想想在java语言中要实现这样的功能 是否会避免这个问题呢? "我也不懂怎樣回答... 假如分為三個object會好一點嗎??但我又想不到有什麼幫助 |
|
返回顶楼 | |
发表时间:2008-03-15
但是几个Object之间还是有依赖(有一定的逻辑顺序)啊 这样感觉就很难避免Object之间的参数传递 |
|
返回顶楼 | |
发表时间:2008-03-15
那麼即代表我這個方法已是沒有選擇下最好的一個,對嗎??
那麼我繼而使用了 |
|
返回顶楼 | |
发表时间:2008-03-15
目前我是这么认为的 |
|
返回顶楼 | |