2012-11-12 23 views

回答

1

没有什么会阻止你引用模型外的函数。 Knockout首先查看视图模型,但如果找不到任何内容,则会查看全局上下文。

HTML:

<ul data-bind="template: { foreach: labels, afterAdd: app.animations.afterAdd}"> 
    <ol data-bind="text: $data"></ol> 
</ul> 

JS:

app = {};  
app.animations = {};  
app.animations.afterAdd = function(elem){ 
    $(elem).hide().slideDown('slow'); 
}; 

Here is a fiddle证明该工程。

+0

这工作很好,但有没有办法将3个第一个JavaScript行合并成一个表达式而不是3个? – Peter

+0

@Petoj我只是这样做,因为我认为你会有其他'应用程序范围'的代码。如果你不需要前两行,而你只需要一些全局函数,那么你可以这样做。尽管如此,我会推荐这种方法,因为它会将所有应用程序代码保留在全局名称空间之外。 – Tyrsius