一旦Mustache.js完成渲染模板并将其插入DOM,是否有一种干净的方法来定义/运行回调函数?例如,像这样:
Mustache.render(template, viewModel, function() {...});
Run Code Online (Sandbox Code Playgroud)
我能想到的最好的方法是计算我的视图模型中将插入DOM的节点数,然后使用setInterval检查DOM中是否存在多个节点.一旦他们这样做,我就可以调用我想要的功能.这似乎效率低下,可能对我有些麻烦,但我不知道还能做什么.
我正在尝试使用userscore在jQuery UI中执行与自动完成小部件类似的操作.我尝试过使用过_.where(),但这只有在完全匹配时才有效.
这有效:
var people = [
{ id: 1, name: "Jimmy" },
{ id: 2, name: "Johnny" },
{ id: 3, name: "Susan" },
{ id: 4, name: "Tim" },
{ id: 5, name: "Betty" },
{ id: 6, name: "Ralph" }
];
var filteredPeople = _.where(people, { name: "Jimmy" });
Run Code Online (Sandbox Code Playgroud)
但我想要的是这样的:
var filteredPeople = _.where(people, { name: "im" }); //Should return "Jimmy" and "Tim"
Run Code Online (Sandbox Code Playgroud)
使用._where不正确的方法?如果没有,那么更好的方法是什么呢?
我的查询设置如下以允许分页。虽然这有效,但我基本上必须运行相同的查询两次才能获得查询的总匹配结果并允许分页。有什么方法可以将其合并到一个查询中吗?
public SearchResult GetResults()
{
//query is built elsewhere
var totalResults = (from i in Collection.Find(query)
select i).Count();
var results = (from i in Collection.Find(query)
select i)
.Skip(recordsToSkip)
.Take(recordsToTake)
.ToList();
//SearchResult is defined elsewhere
return new SearchResult
{
Results = results,
TotalResults = totalResults
};
}
Run Code Online (Sandbox Code Playgroud)