流星:如何用会话操作类
METEOR: How to manipulate class with session?
我正在学习流星会话
当用户单击All时将返回如下:
<div class="ui secondary pointing menu">
<a id="all" class="item active">All</a>
<a id="fiction" class="item">Fiction</a>
<a id="nonfiction" class="item">Non Fiction</a>
</div>
当用户点击虚构将返回如下:
<div class="ui secondary pointing menu">
<a id="all" class="item">All</a>
<a id="fiction" class="item active">Fiction</a>
<a id="nonfiction" class="item">Non Fiction</a>
</div>
当用户点击非虚构将返回如下:
<div class="ui secondary pointing menu">
<a id="all" class="item">All</a>
<a id="fiction" class="item">Fiction</a>
<a id="nonfiction" class="item active">Non Fiction</a>
</div>
这是我的模板:
<template name="bookList">
<div class="ui secondary pointing menu">
<a id="all" class="item{{selectedTab}}">All</a>
<a id="fiction" class="item{{selectedTab}}">Fiction</a>
<a id="nonfiction" class="item{{selectedTab}}">Non Fiction</a>
</div>
</template>
这是我的帮手:
Session.set('tabAll', ' active');
Session.set('tabFiction', '');
Session.set('tabNonFiction', '');
Template.bookList.helpers({
selectedTab: function() {
Session.get("tabAll");
Session.get("tabFiction");
Session.get("tabNonFiction");
}
});
Template.bookList.events({
'click #all': function () {
Session.set('tabAll', ' active');
Session.set('tabFiction', '');
Session.set('tabNonFiction', '');
},
'click #fiction': function () {
Session.set('tabAll', '');
Session.set('tabFiction', ' active');
Session.set('tabNonFiction', '');
},
'click #nonfiction': function () {
Session.set('tabAll', '');
Session.set('tabFiction', '');
Session.set('tabNonFiction', ' active');
},
});
但是它不起作用。如果有人纠正我的错误,我会很高兴的。
谢谢. .
我发现了很多错误这是一个简单的工作示例你可以看到你在哪里犯了错误
模板调用helper函数并给它一个参数,在本例中我们想要检查的选项卡是活动的
<template name="bookList">
<div class="ui secondary pointing menu">
<a id="all" class="item {{selectedTab "all"}}">All</a>
<a id="fiction" class="item {{selectedTab "fiction"}}">Fiction</a>
<a id="nonfiction" class="item {{selectedTab "nonfiction"}}">Non Fiction</a>
</div>
</template>
Helper Helper将检查会话值是否等于你要检查的选项卡如果它等于它将返回'active'
Template.bookList.helpers({
selectedTab: function(tab) {
var activeTab = Session.get('activeTab');
if (activeTab === tab) {
return 'active';
}
}
});
事件只是改变会话值,它将在模板中被反应性地改变
Template.chapterList.events({
'click #all': function () {
Session.set('activeTab', 'all');
},
'click #fiction': function () {
Session.set('activeTab', 'fiction');
},
'click #nonfiction': function () {
Session.set('activeTab', 'nonfiction');
},
});
这里是一个演示应用程序的例子:http://meteorpad.com/pad/tAsjEJd34YRCfFbeB/BooksList
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- fluxxor向一个flux实例添加一组以上的操作
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 操作放置在画布上的元素之间的连接
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 使用“+="操作人员
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Jquery未定义函数正在停止其他操作
- 如何操作iframe之外的元素
- javascript对象操作:根据指定条件选择属性
- 在 AJAX 调用的 zend 控制器操作中正确设置会话
- 操作后会话变量 删除
- 如何根据会话变量以程序方式更改表单操作
- 我在使用Facebook开放图发布操作时遇到问题,因为会话已过期.我该如何解决这个问题
- 流星:如何用会话操作类
- 如何基于php会话变量执行JavaScript单击操作