使用 backbone js 的动态 HTML 渲染不会在点击事件后替换原始内容
Dynamic HTML rendering using backbone js not replacing the original content after click event
我正在学习 backbone js,最近遇到了动态 html 渲染的问题。
我有两个选项卡,当我单击每个选项卡时,下面的 html 必须更改。我无法更改 html。我根据backbone js模型在html代码中给出了一个if/else条件。我想我必须调用渲染函数,对吗?
还有其他方法吗?此外,我的 find 函数正在迭代并根据数组打印 hello 5,6 次。但它不应该只找到状态对象吗?提前致谢。
选项卡1
选项卡2
<% _.find(tab1, 函数(项目){
如果(item.state!="active"){%>
你好
<% }其他{
你好
<% } }) %>
您可以将更改事件绑定到您的模型,以负责每次调用渲染函数。
即
this.model.bind("change:tab", this.render);
此外,您的示例中的 find 函数只是用作每个循环,因为您没有 return 进行匹配,因此如果看不到输入的数据,就很难看出您的原因问题。
您需要return条件才能正确使用_.each功能。
例如
var activeTab = _.find(tabs, function(item){ return item.state === "active"; });
一个更合适的下划线方法是 findWhere,它的工作方式类似于
var activeTab = _.findWhere(tabs, { state : "active"});
我正在学习 backbone js,最近遇到了动态 html 渲染的问题。 我有两个选项卡,当我单击每个选项卡时,下面的 html 必须更改。我无法更改 html。我根据backbone js模型在html代码中给出了一个if/else条件。我想我必须调用渲染函数,对吗?
还有其他方法吗?此外,我的 find 函数正在迭代并根据数组打印 hello 5,6 次。但它不应该只找到状态对象吗?提前致谢。
选项卡1 选项卡2 <% _.find(tab1, 函数(项目){ 如果(item.state!="active"){%> 你好 <% }其他{ 你好 <% } }) %>
您可以将更改事件绑定到您的模型,以负责每次调用渲染函数。
即
this.model.bind("change:tab", this.render);
此外,您的示例中的 find 函数只是用作每个循环,因为您没有 return 进行匹配,因此如果看不到输入的数据,就很难看出您的原因问题。
您需要return条件才能正确使用_.each功能。
例如
var activeTab = _.find(tabs, function(item){ return item.state === "active"; });
一个更合适的下划线方法是 findWhere,它的工作方式类似于
var activeTab = _.findWhere(tabs, { state : "active"});