gpt4 book ai didi

javascript - 将模型对象传递给主干 View

转载 作者:数据小太阳 更新时间:2023-10-29 03:52:07 24 4
gpt4 key购买 nike

我一直在尝试传递一个模型对象以在我的模板中进行评估,但没有成功。我尝试了以下但没有运气

仪表板模型.js

var myMod = Backbone.Model.extend({
defaults: {
name: "mo",
age: "10"
}
});

我的view.js

         var dashView = Backbone.View.extend({

el: '.content-area',

this.mymodel = new myMod({}),

template: _.template(dashBoardTemplate, this.mymodel),
initialize: function() {
},

render: function() {
this.$el.html(this.template);
return this;
}

// more javascript code.............

dahboard.html

<p> Hello <%= name %> </p>

PS:我用的是下划线模板引擎

最佳答案

此外,您将模型传递给 View 的方式并不灵活,因为您将传递模型的实例,而不是默认模型。因此,您可能想挑出

this.mymodel = new myMod({}),

(顺便说一句,由于“=”符号,上面一行在我的 chrome 浏览器中给出了错误消息)

然后,假设你有一个实例 A:

A = new myMod({"name": "World", "age":100})

然后将其传递给您的 View :

myview = new dashView({mymodel: A})

还有一步,你要做的就是调用渲染函数:

myview.render();

这是一个完整的解决方案:

<html>
<script src="jquery-1.10.2.min.js"></script>
<script src="underscore-min.js"></script>
<script src="backbone.js"></script>
<body>
<script type="text/template" id="dashBoardTemplate">
<p> Hello <%= name %> </p>
</script>
<div class="content-area">
</div>
<script type="text/javascript">
var myMod = Backbone.Model.extend({
defaults: {
name: "mo",
age: "10"
}
});

var dashView = Backbone.View.extend({
el: '.content-area',
template: _.template($("#dashBoardTemplate").html()),
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
mymod = new myMod({"name": "World", "age":100});
myview = new dashView({model:mymod});
myview.render();
</script>
</body>
</html>

如果你想学习 backone.js,请阅读这本让我入门的开源书籍:

http://addyosmani.github.io/backbone-fundamentals/

关于javascript - 将模型对象传递给主干 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19609627/

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