У меня есть 2 отдельных html-шаблона для рабочего стола и мобильного телефона с общей логикой. Есть ли возможность связать эти html-шаблоны с одним шаблоном js?Bind two html view with one js template on meteor.js
ответ
Самый простой способ, который я нашел, это использовать dynamic template, чтобы выбрать шаблон для мобильного или рабочего стола и прикрепить js к родительскому шаблону - такому, который встраивает динамический шаблон.
Вы можете использовать медиа-запросы для этого. Он позволяет указать точки останова (т. Е. Размеры экрана), на которых будет отображаться HTML-рендеринг. Это позволит пользователю рабочего стола просматривать мобильный вид, просто изменив размер окна.
Это ясно, но я не могу использовать только медиа-запрос. Прежде всего, у меня уже есть два отдельных html-макета и secon всего одного вида - модальное окно, а другая - обычная страница –
В моем случае решение было рядом я Blaze для переключения между шаблонами, как посоветовал мне Мишель 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;
}
});
- 1. Xcode view with two CollectionView
- 2. Create View with two ViewModels
- 3. JS Pagination Two Page View
- 4. Rails Two Views With One Controller # Действие
- 5. jquery one on() вместо bind() и live()
- 6. One form two action
- 7. ruby on rails view template
- 8. Coldfusion 10 - Live One on One chat with Websockets
- 9. CodeIgniter - Two Forms, One Page
- 10. html one page template to wordpress conversion
- 11. html template with echo php
- 12. grails gson view expand children with template
- 13. Bind two Combox
- 14. mix html template with php code: php html template
- 15. ASP MVC 3 Two Models in One View
- 16. Add-Content With Condition On One Line
- 17. bind controller on dynamic HTML
- 18. Windows Batch Echoing Two Variables On One Line
- 19. Template onload event for meteor.js
- 20. two people one excel file
- 21. One Modal Bootstrap two action
- 22. One Two Three Four Five
- 23. java bind template динамически
- 24. boost bind template error
- 25. Несколько UITableViews, One View, Two Filled, One Blank. В чем проблема?
- 26. Scrape html with js
- 27. Two Step View Pattern
- 28. Laravel One Form Two Submit Buttons
- 29. ACF next/previous on one post template from relationship field
- 30. View not dispaying template ionic
Спасибо, это может быть решение. но действительно ли это самый простой способ? нет ли юридического api для привязки логики с точки зрения? –
Использование blaze для переключения макетов проще '{{if isMobile}} {{> mobileTemplate}} {{else}} {{> desktopTemplate}}', но каждый шаблон нуждается в собственных помощниках. Динамические шаблоны являются единственным обходным решением, которое я знаю для повторного использования js через шаблоны (помимо глобальных помощников). –