我在使用车把视图的时候使用jquery的typeahead。它适用于静态源数据。我想使用postgresql-database中的数据,但我不知道如何包含pg-bluebird npm模块。
我在meteorjs中做过类似的jquery typeahead,我使用模板名称从mongodb集合中获取源代码,然后从javascript中调用模板事件,如:
HTML:
<template name="participantItem">
... html form input etc. ...
</template>
的javascript:
Template.participantItem.events({
'click .edit': function (e) {
e.preventDefault();
$("#club").autocomplete({
/* query remote source */
});
}
});
当我尝试将<template name="foo">
添加到我的html文件中时,它会加载内容但除了页眉和页脚之外不会呈现页面。
我喜欢meteorjs使用辅助模板和事件的方式,并希望在hapijs中以相同的方式进行。
我最终在html文件中包含javascript来测试带有静态数据的typeahead,但它看起来并不是很优雅。
<div class="container">
<div class="row">
... content using some json data ...
</div>
</div>
<script type="text/javascript">
$(function () {
$('#states').autocomplete({
delay: 500,
minLength: 2,
source: states
});
}
</script>
我从index.js中调用这样的视图:
var Pgb = require('pg-bluebird');
var pg = new Pgb();
var db = "postgresq://claus@localhost/karusellrenn";
exports.register = function (plugin, options, next) {
plugin.route([
{
method: 'GET',
path: '/participants',
handler: function (request, reply) {
.then(function (result) {
cnn.done();
reply.view('participants', { p: result.rows});
.catch(function (error) {
console.log(error);
});
}
}
]);
next();
};
我可以像在<template name="foo"></template>
这样的meteorjs中使用把手一样在hapijs中使用把手,然后使用像Template.foo.events({});
这样的javascript助手吗?
如果没有,我可以在把手视图里面的把手视图中使用index.js中包含的pg-bluebird吗?