在hapijs中使用把手模板助手

时间:2015-03-08 21:07:39

标签: javascript requirejs handlebars.js hapijs

我在使用车把视图的时候使用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吗?

0 个答案:

没有答案