gpt4 book ai didi

javascript - 在 Backbone/Underscore 模板中使用 "if",怎么样?

转载 作者:行者123 更新时间:2023-11-30 17:02:02 25 4
gpt4 key购买 nike

我有 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 时,我调用 Popup/Media 模板 media:

<% if(this.data.length > 0){ %>
<div class="MediaList">
<img/>
</div>
<% } %>

对于更改图像,我有类似的 Backbone.View 调用相同的 Popup/Media on .svs-upload-image点击:

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>
<% } %>

我需要粘贴什么而不是'code needs to be here'?非常感谢大家!

最佳答案

据我了解您的问题,您并不是要重复类似的内容 this ,因为您希望根据您的代码定制答案,而不是简单地对语法有疑问。

你的问题不是很清楚,但我假设基本问题是你的数据模型中没有任何东西可以区分这两种 View ,你想知道如何区分背景 View 和图像在模板渲染级别查看。您有两个选择:

  1. 让您的 View 将明确标识原始类型的变量传递给数据模型,然后在模板中测试该变量。
  2. 制作两个不同的模板。

我建议 DRY 的选项 1目的。我希望这能回答你的问题,但很难给你一个好的答案,因为你的问题不是很清楚。

关于javascript - 在 Backbone/Underscore 模板中使用 "if",怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28658091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com