Javascript模板没有显示任何内容

时间:2015-07-02 19:17:55

标签: javascript backbone.js underscore.js-templating

我正在制作我的第一个骨干网络应用程序,我在修复模板方面遇到了一些麻烦。现在我的一个模板给了我我想要的东西,但第二个没有给我看任何东西。

我想要显示的数据是一个菜单栏,其中包含youtube提供服务的国家/地区。数据来自youtube v3 i18nRegions api。

触发模板的JS文件:

site.views.ContinentLinks = Backbone.View.extend(
    {
        events: {'click a': 'clickHandler'},
        templatemenuitems: _.template(site.settings.templates.menuitems),
        templateError: _.template(site.settings.templates.error),
        initialize: function (prop) {
            console.log("starting continentlinks.js");
            console.log(prop);
            this.router = prop.router;
            this.loadMenuItems();
            console.log("started loading");
            site.events.trigger('newMenu');
        },
        clickHandler: function (e) {
            e.preventDefault();
            var curTarget = $(e.currentTarget);
            var curURL = 'videos/' + curTarget.data('country');
            console.log(curURL);
            this.router.navigate(curURL, {trigger: true, replace: true});
        }
        ,
        loadMenuItems: function () {
            console.log("started loadMenuItems");
            console.log(this.collection.url);
            this.collection.fetch({
                success: _.bind(this.loadMenuItemsSuccessHandler, this),
                error: _.bind(this.loadMenuItemsErrorHandler, this)
            });
        },
        /**
        *
        * @param collection
        * @param response
        */
        loadMenuItemsSuccessHandler: function (collection, response) {
            console.log("SUCCESS");
            console.dir();
            this.$el.html(this.templatemenuitems({menuitems: response}));
            console.log("succesfull loaded menu");

        },
        /**
        * if the get call fails
        * @param collection
        * @param response
        */
        loadMenuItemsErrorHandler: function (collection, response) {
            console.log("ERROR");
            var data = JSON.parse(response.responseText);
            this.$el.html(this.templateError({message: data.error}));
        }
    });

和自己的模板:

<% _.each(menuitems.items, function(Menuitem, index, list){%>
<a href="#" data-country="<% Menuitem.gl %>"><% Menuitem.name%></a>
<%}) %>

我在这里有一个指向我的webapp的当前版本的链接:http://student.cmi.hro.nl/0876538/Jaar2/FED/Weindopdracht/

github上的完整代码: https://github.com/FlashDog123/FED01-Eindopdracht

0 个答案:

没有答案