gpt4 book ai didi

templates - 如果 app.js 未在文档中准备好,如何使用 this.template?

转载 作者:行者123 更新时间:2023-12-04 05:44:48 26 4
gpt4 key购买 nike

我试着关注 http://ricostacruz.com/backbone-patterns/#inline_templates避免 http://ricostacruz.com/backbone-patterns/#abuse但是我有这样的典型观点:

// in app.js
App.MyView = Backbone.View.extend({
className: "ui-widget-content",
template: _.template($("#myTemplate").html()),
render: function()
{
this.$el.html(this.template(this.model.toJSON()));
}

然后我只包含这样的 app.js
<script src="./js/jquery-1.7.2.min.js"></script>
<script src="./js/jquery-ui-1.8.20.custom.min.js"></script>
<script src="./js/underscore.js"></script>
<script src="./js/backbone.js"></script>
<script src="./js/app.js"></script>

浏览器提示 $("#myTemplate") App.MyView.template 中的行是 null (因为文件没有准备好?)。我该怎么办?

最佳答案

我对此的快速解决方法是在 View 初始化时编译模板..

App.MyView = Backbone.View.extend({
className: "ui-widget-content",
template: '#myTemplate',
initialize: function(){
this.template = _.template($(this.template).html());
},
render: function(){
this.$el.html(this.template(this.model.toJSON()));
}

然后其他一切仍然有效,您可以将渲染方法放在基类中..

关于templates - 如果 app.js 未在文档中准备好,如何使用 this.template?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10823675/

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