在meteor.js上用一个js模板绑定两个html视图

时间:2016-11-17 20:49:02

标签: meteor meteor-blaze

我有两个独立的html模板,用于桌面和移动设备,具有通用逻辑。是否有可能将这些html模板与一个js模板绑定?

3 个答案:

答案 0 :(得分:1)

我发现这样做的最简单方法是使用dynamic template选择移动或桌面模板,并将js附加到父模板 - 嵌入动态模板的模板。

答案 1 :(得分:1)

在我的情况下,解决方案是下一个 我使用Blaze在模板之间切换,比如向我推荐Michel Floyd,并且帮助器只是传递给datacontext到两个模板。 我的一般html页面视图和下面的js模板的一部分

<template name="signUpTutor">
{{#if equals view 'mobile'}}
    {{> Template.dynamic template="signUpTutorMobile" data=dataContext}}
{{else}}
    {{> Template.dynamic template="signUpTutorDesktop" data=dataContext}}
{{/if}}

Template.signUpTutor.helpers({
'equals': function (a, b) {
    return a == b;
},
'dataContext': function () {
    var dataContext = {}
    dataContext.subjects = Subjects.find();
    dataContext.ageOptions = function () {
        var ageOptions = [];
        for (var i = 0, a = 19; a <= 99; i++, a++) {
            ageOptions[i] = a;
        }
        return ageOptions;
    };
    dataContext.experienceOptions = function () {
        var experienceOptions = [];
        for (var i = 0, a = 1; a <= 60; i++, a++) {
            experienceOptions[i] = a;
        }
        return experienceOptions;
    };
    return dataContext;
}

});

答案 2 :(得分:0)

您可以使用媒体查询执行此操作。它允许您指定HTML呈现的断点(即屏幕大小)。这样,桌面用户只需调整窗口大小即可查看移动视图。

http://www.w3schools.com/css/css_rwd_mediaqueries.asp