可以将模型中的属性显示为模型中的其他属性吗?
It possible to show attributes from model to other attributes from model?
嗨,我有一个带有模型属性的视图:
name: "P",
surname: "a",
sorters: ["name","surname"] // dynamical array ( parameter to show )
在模板中:
<% for(i=0 ;i<sorters.length(); i++ ){ %>
<h2><%= sorters[0] %></h2> // its <%= 'name' %> with quotes
<% } %>
结果我得到了
name,
surname
我需要
P,
a
因此,我从 Sorters[array] 中获取值而不是模型值:
一些例子
1.
name: "P",
surname: "a",
sorters: ["name"]
P
2.
name: "P",
surname: "a",
sorters: ["surname","name"]
a, P
使用模板中的这段代码,我没有 values from models
但是我的数组和视图中的字符串文本而不是模型显示标签中的属性
基于 sorters
return 的值似乎等于模型中的另一个字段,您希望 动态地 return 该字段.
有几种方法可以做到这一点,最好的方法可能是在创建模板时提供 variable
选项 (docs)。请参见下面的示例:
var model = new Backbone.Model({
name: "P",
surname: "a",
sorters: ["name","surname"]
});
var tmp = _.template($('#template').html(), {variable: 'data'});
$('#result').html(tmp(model.attributes));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
<script id="template" type="text/template">
<% for(i=0; i < data.sorters.length; i++ ){ %>
<h2><%= data[data.sorters[i]] %></h2>
<% } %>
</script>
<div id="result"/>
此外,最好使用 each
而不是 for 循环:
<% _.each(data.sorters, function(sorter) { %>
<h2><%= data[sorter] %></h2>
<% }) %>
嗨,我有一个带有模型属性的视图:
name: "P",
surname: "a",
sorters: ["name","surname"] // dynamical array ( parameter to show )
在模板中:
<% for(i=0 ;i<sorters.length(); i++ ){ %>
<h2><%= sorters[0] %></h2> // its <%= 'name' %> with quotes
<% } %>
结果我得到了
name, surname
我需要
P, a
因此,我从 Sorters[array] 中获取值而不是模型值:
一些例子
1.
name: "P",
surname: "a",
sorters: ["name"]
P
2.
name: "P",
surname: "a",
sorters: ["surname","name"]
a, P
使用模板中的这段代码,我没有 values from models
但是我的数组和视图中的字符串文本而不是模型显示标签中的属性
基于 sorters
return 的值似乎等于模型中的另一个字段,您希望 动态地 return 该字段.
有几种方法可以做到这一点,最好的方法可能是在创建模板时提供 variable
选项 (docs)。请参见下面的示例:
var model = new Backbone.Model({
name: "P",
surname: "a",
sorters: ["name","surname"]
});
var tmp = _.template($('#template').html(), {variable: 'data'});
$('#result').html(tmp(model.attributes));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
<script id="template" type="text/template">
<% for(i=0; i < data.sorters.length; i++ ){ %>
<h2><%= data[data.sorters[i]] %></h2>
<% } %>
</script>
<div id="result"/>
此外,最好使用 each
而不是 for 循环:
<% _.each(data.sorters, function(sorter) { %>
<h2><%= data[sorter] %></h2>
<% }) %>