Javascript 如何将div直接附加到BackboneJs中的en元素中
这是我遇到的问题,Javascript 如何将div直接附加到BackboneJs中的en元素中,javascript,jquery,backbone.js,backbone-views,Javascript,Jquery,Backbone.js,Backbone Views,这是我遇到的问题, 起初这里有一个标记名=“div”。我把它去掉了,我注意到不管我怎么改变它都不重要 我只想要这样的代码 <div class="step slide" data-x="1500" data-y="15" data-z="0" data-rotate-x="10" data-rotate-y="1000" data-rotate-z="500" data-scale="6"> start to build your own presentati
起初这里有一个标记名=“div”。我把它去掉了,我注意到不管我怎么改变它都不重要 我只想要这样的代码
<div class="step slide" data-x="1500" data-y="15" data-z="0" data-rotate-x="10" data-rotate-y="1000" data-rotate-z="500" data-scale="6">
start to build your own presentati
</div>
<div class="step slide" data-x="1500" data-y="15" data-z="0" data-rotate-x="10" data-rotate-y="1000" data-rotate-z="500" data-scale="6">
start with
</div>
开始建立自己的展示
从
我这里有两个解决方案,我可以在视图中添加属性,所以我只需要在模板中加载内容。
我可以在文件准备好的时候删除div吗
<script type="text/template" id="impress-demo-template">
<div id="impress">
</div>
</script>
<script type="text/template" id="iunit-template">
<div class="<%=step%>" data-x="<%=dataX%>" data-y="<%=dataY%>" data-z="<%=dataZ%>" data-rotate-x="<%=dataRotateX%>" data-rotate-y="<%=dataRotateY%>" data-rotate-z="<%=dataRotateZ%>" data-scale="<%=dataScale%>">
<%=content%>
</div>
</script>
视图():
模板:
<%= content %>
这些属性是动态生成的吗?那些属性来自于模型?我是个新手,所以谢谢你教我这个?是的。我建议阅读文档,它非常小,信息量也非常丰富。我的意思是我可以动态生成像“data-x”这样的代码吗?dataX是当前节点的值。是,通过重写构造函数。我将在10分钟内创建一个演示。
<script type="text/template" id="impress-demo-template">
<div id="impress">
</div>
</script>
<script type="text/template" id="iunit-template">
<div class="<%=step%>" data-x="<%=dataX%>" data-y="<%=dataY%>" data-z="<%=dataZ%>" data-rotate-x="<%=dataRotateX%>" data-rotate-y="<%=dataRotateY%>" data-rotate-z="<%=dataRotateZ%>" data-scale="<%=dataScale%>">
<%=content%>
</div>
</script>
var IuntiView = AV.View.extend({
className : 'step slide',
attributes : {
'data-x' : 1500,
'data-y' : 15,
'data-z' : 0,
'data-rotate-x' : 10,
'data-rotate-y' : 1000,
'data-rotate-z' : 500,
'data-scale' : 0
}
});
<%= content %>
var AV = Backbone; // hack
var IuntiView = AV.View.extend({
className : 'step slide',
template : _.template('content'),
constructor : function () {
this.attributes = {
'data-x' : 1500,
'data-y' : 15,
'data-z' : 0,
'data-rotate-x' : 10,
'data-rotate-y' : 1000,
'data-rotate-z' : 500,
'data-scale' : 0
};
AV.View.prototype.constructor.apply(this, arguments);
},
render : function () {
this.$el.html(this.template());
return this;
}
});
new IuntiView().render().$el.appendTo(document.body);