使用“;如果“;在Backbone/Undercore模板中,如何
Use "if" in Backbone/Underscore template, how?
我让Backbone.View
更改$el
:的背景
var Background = Backbone.View.extend({
className: 'svs-widget svs-widget-animate',
events:{
'click .svs-upload-background': 'media'
},
initialize: function(){
},
render: function(){
this.$el.append(_.template(_background).apply(this.options));
return this.$el;
},
media: function(){
var me = this;
require(['View/Popup/Media'], function(_Media){
$.ajax({
url: '/svs-ajax.php',
type: 'post',
data: {
'action': 'change_bg'
},
success: function(data){
var media = new _Media({model: data, popup: popup, target: me.options.background});
var popup = new Popup({content: media.render()});
}
});
});
}
});
当点击.svs-upload-background
时,我正在用media
:调用Popup/Media
模板
<% if(this.data.length > 0){ %>
<div class="MediaList">
<img/>
</div>
<% } %>
对于更改图像,我有类似的Backbone.View
,在.svs-upload-image
上调用相同的Popup/Media
点击:
var Image = Backbone.View.extend({
className: 'svs-widget svs-widget-animate',
events:{
'click .svs-upload-image': 'media'
},
initialize: function(){
},
render: function(){
this.$el.append(_.template(_image).apply(this.options));
return this.$el;
},
media: function(){
var me = this;
require(['View/Popup/Media'], function(_Media){
$.ajax({
url: '/svs-ajax.php',
type: 'post',
data: {
'action': 'change_image'
},
success: function(data){
var media = new _Media({model: data, popup: popup, target: me.options.image});
var popup = new Popup({content: media.render()});
}
});
});
}
});
问题是:我需要在Popup/Media
模板中为背景和图像显示不同的标题,比如:
如果背景:
<% if(' **code needs to be here** '){%>
<div class="background_header">Changing background</div>
<% } %>
如果图像:
<% if(' **code needs to be here** '){%>
<div class="image_header">Changing image</div>
<% } %>
我需要粘贴什么而不是"代码需要在这里"?非常感谢大家!
据我所知,您并不是在要求类似这是因为您希望根据代码定制答案,而不是简单地对语法有疑问。
您的问题不是很清楚,但我假设基本问题是,数据模型中没有任何东西可以区分这两种视图,您想知道如何在模板渲染级别区分背景视图和图像视图。你有两个选择:
- 让视图将明确标识源类型的变量传递给数据模型,然后在模板中测试该变量
- 制作两个不同的模板
我推荐选项1用于DRY目的。我希望这能回答你的问题,但很难给你一个好的答案,因为你的问题不是很清楚。
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 如果值为空,如何设置输入的默认值?jQuery
- 如果选中了多个复选框,如何添加事件
- 如何检查元素的内容是否为空,如果为空,请在jquery中删除该元素
- 如何知道元素在屏幕上是否可见.如果没有,请滚动页面
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 如果宽度是百分比,如何设置以px为单位的图像高度
- 在php中提交数据时,如果某些值为null,而某些值为非null,如何进行查询
- 如果助手不在,如何从Grunt中的代码中调用任务
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如果跨度类文本=1,如何将boxShadow添加到跨度类
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何:如果换行,请减小字体大小
- 如何“如果不是整数,警报并重复提示”?与 isNAN 相同
- 自动查找数字总和,因为用户输入值是动态的,而不管输入的数量如何.如果用户输入的数字不是,则提醒用户
- 如何:如果调用了函数(param),则将unforeunload调用绑定到窗口
- 如何 如果未定义,请将本地存储设置为 0
- 如何:如果fadeIn不再褪色(jQuery)