有什么工作的例子可以找到吗?Typeahead运行良好,但是当我尝试将寻血猎犬连接到它时,我总是收到错误
未捕获的类型错误:无法读取未定义的属性"分词器"
在我的主干中.js我定义了一个
path: {...,
typeahead: 'libs/typeahead.jquery.min',
bloodhound: 'libs/bloodhound.min',
}
跟
shim: { ...,
'typeahead': {
'deps': ['jquery'],
'exports': 'jquery' // Make sure the noconflict configuration of jquery doesn't break this extension
},
'bloodhound':{
'deps': ['jquery'],
'exports': 'jquery' // Make sure the noconflict configuration of jquery doesn't break this extension
},
}
在我的骨干网中,我定义
define(['backbone', 'typeahead', 'bloodhound', '../models/searchableDocument', '../collections/searchableDocuments', 'text!./asset_footer.html'],
function(Backbone, Typeahead, Bloodhound, SearchableDocument, SearchableDocuments, footerTmpl) { ...
//.../initialize/...
var docHound = new Bloodhound({
name: 'documents',
local: this.allDocuments.toJSON(),
datumTokenizer: function(doc) { return Bloodhound.tokenizers.whitespace(doc.name); },
queryTokenizer: Bloodhound.tokenizers.whitespace
});
docHound.initialize();
...
我还在我的系统结构中包含 Bootstrap (2.3.2),所以我也试图通过使用来解决可能的冲突
...
var DocHound = Bloodhound.noConflict();
var docHound = new DocHound({
...
但这只会引发错误
未捕获的类型错误:无法调用未定义的方法"noConflict"
所以看起来我根本没有"到达"寻血猎犬克拉斯......有什么提示吗?哗啦!
有同样的问题,只需要添加寻血猎犬作为导出。
"bloodhound": {
deps: ["jquery"],
exports: "Bloodhound"
}
哼!