跟踪模板主干中的变量
Trace variables in template - backbone
为这样一个新手问题道歉,但我真的被困在这里了。
我正在研究某人的代码,并试图理解它。
我有这个模板"temp.tmpl":
<li class="icon mu status-{{state}} type-{{type}}" style="background-color:{{colour}};">
<a href="#">
<span class="top-stat"><span>{{topStatNumber}}</span><span>{{topStatModifier}}</span></span>
<span class="display-text">{{#if promotionName}}{{promotionName}}{{else}}{{name}}{{/if}}</span>
</a>
</li>
和以下视图:
define([
'views/toolkitView',
'text!templates/components/temp.tmpl'
], function(ToolkitView, MUItem) {
return ToolkitView.extend({
template:MUItem,
events: {
"click a": "showActiveMU"
},
showActiveMU: function() {
this.trigger("active:mu:selected", this.model.get("code"));
return false;
}
});
});
我不知道变量是如何在模板中呈现的,也不知道是什么模板编译是反对的吗?
如果没有看到ToolkitView的内容,很难给出完整的答案,但我相信这就是正在发生的事情:
您的新视图扩展了ToolkitView,并继承了该视图中的方法。可能有一个render
方法,它采用任何模板视图,该视图使用来自分配给视图的任何模型的数据来呈现模板(在本例中,它是通过define
语句加载的MUItem
模板)。使用ToolKitView
作为"基础"允许您在视图中共享常用方法,并根据需要对其进行调整或扩展
针对您关于showActiveMu
的评论:当您创建此视图的新实例并为其分配模型时,该视图可以通过this.model
访问该模型。在您的情况下,视图的showActiveMU
方法将触发一个事件,从模型中获取"code"属性,并将其作为参数传递给侦听该事件的任何函数。点击此处了解更多关于骨干活动的信息。
var Model = new FooModel();
var muItem = new MUView({model: fooModel});
// listen for event triggered by the view's showActiveMU event
muitem.on('active:mu:selected', function (code) {
console.log(code); // the code from the model assigned to muItem view
});
相关文章:
- 敲除嵌套数组分页,如何跟踪变量或查找父记录
- 如何跟踪变量已更改的行's值
- 流星 在客户端跟踪服务器端变量
- 流星函数与变量跟踪
- JavaScript 跟踪全局变量
- 使用变量和谷歌跟踪代码管理器重写和重定向网址
- 跟踪服务器上的站点访问 - Meteor 中未定义的会话变量
- 您可以将自定义变量传递到Google Analytics事件跟踪中吗?
- 在Google Analytics.js事件跟踪发送中使用.Net变量
- 跟踪模板主干中的变量
- 会话变量递增/递减,js函数中的会话变量跟踪更新
- 当多次使用方法时,跟踪类中的变量
- 如何正确地将JavaScript变量插入自定义跟踪像素
- 如何从网站跟踪变量
- 变量跟踪点击
- 当在控制台中跟踪变量时,如何创建新行
- 跟踪变量实例
- 使用PHP echo传递跟踪变量
- 用javascript创建一个本地变量来跟踪日历上的月份
- 跟踪 C# 控制器和视图中的两个变量