Featoff = can.Model.extend("featoff",{
findAll: {
url: '/api.php/specialoffers?',
type: 'GET',
data: { max : 10 , pid : 977 , sid : 5934 }
}
}, {});
Feat = can.Control({ init: function()
{ var that = this; can.view('images/js/mn/temps/featured.ejs', featoff.findAll({}).then(function(d)
{ return { offerdata : d, secTitle : that.element.data('title') }; })).done(function(frag)
{ that.element.html(frag); }) }});
我使用新的Feat();
来调用它现在正在运作。 所以现在我想在findAll中使用不同的参数集重用相同的Feat控件,我该怎么办?使用什么方法以及如何使用?我也可以推迟或覆盖can.view的相同??
我是否还可以使用单个基本控制器并保持覆盖参数?
答案 0 :(得分:1)
要覆盖视图,您可以扩展Feat对象FeatExtended = Feat.extend{
并在init方法中使用不同的视图。
您也可以在致电new Feat({view : MY_VIEW})
时提供参数。选项对象以描述here传递给init()。
为了找到所有问题,您应该将findAll定义为documentation
中描述的方法希望有所帮助!
编辑:
例如:您可以传递一个params对象,该对象定义要在URL中添加的选项以及HTTP调用的方法
Featoff = can.Model.extend({
findAll : function(params){
return $.ajax({
url: '/api.php/specialoffers?' + params.myoption,
type: params.method,
dataType: 'json'})
}
},{})