JSView 将上下文传递给延迟对象
JSView passing context to deferred object
我尝试将数据上下文传递给延迟对象以在执行函数后修改数据:
function confirmBox(obj){
var defer = $.Deferred();
//cut the function
//if true, it will returned the obj, by false it will be defer.reject()
defer.resolve(obj);
return defer.promise();
}
$.link.testTemplate("#main", app)
.on("click", ".test-item", function(e){
confirmBox($.view(this)).then(function (answer) {
console.log(answer.getIndex())
});
//console.log($.view(this).getIndex()) => working fine
})
它返回了一个未定义的值。
我的错误在哪里?
view.getIndex()
如果上下文(视图)不是 'item' 视图或在项目视图中,则 return 未定义。
http://www.jsviews.com/#getindex
http://www.jsviews.com/#viewobject@index
因此,如果您的 'test-item' 元素不在 {^{for someArray}}
索引中,则将是未定义的。
当 'test-item' 在项目视图中时,您的示例对我来说工作正常...
否则,你能post一个jsfiddle的完整例子吗...
我尝试将数据上下文传递给延迟对象以在执行函数后修改数据:
function confirmBox(obj){
var defer = $.Deferred();
//cut the function
//if true, it will returned the obj, by false it will be defer.reject()
defer.resolve(obj);
return defer.promise();
}
$.link.testTemplate("#main", app)
.on("click", ".test-item", function(e){
confirmBox($.view(this)).then(function (answer) {
console.log(answer.getIndex())
});
//console.log($.view(this).getIndex()) => working fine
})
它返回了一个未定义的值。
我的错误在哪里?
view.getIndex()
如果上下文(视图)不是 'item' 视图或在项目视图中,则 return 未定义。
http://www.jsviews.com/#getindex
http://www.jsviews.com/#viewobject@index
因此,如果您的 'test-item' 元素不在 {^{for someArray}}
索引中,则将是未定义的。
当 'test-item' 在项目视图中时,您的示例对我来说工作正常...
否则,你能post一个jsfiddle的完整例子吗...