gpt4 book ai didi

javascript - 如何从backbone.js中的 View 渲染 View

转载 作者:行者123 更新时间:2023-11-28 08:50:45 26 4
gpt4 key购买 nike

我尝试初始化一个 View 加载,然后将一个事件监听器附加到初始 View 中的链接,这样当有人单击该链接时,文档正文就会被替换为不同的backbone.js View 。

我已经很接近了,但我一直遇到 js 错误:

Uncaught TypeError: Cannot call method 'replace' of undefined underscore-min.js:5

其次,一旦渲染 View ,如何将类添加到#blog内的#container?你会在 fiddle 中看到我已经写好了 CSS 和新类。

Link to Fiddle

HTML

<script type="text/template" id="index">
<a href="" id="thing">click here</a>
</script>

<script type="text/template" id="blog">
<div id="container"><p>Hello world.</p></div>
</script>

JS

    BlogView = Backbone.View.extend({
initialize: function(){},
render: function(){
var template = _.template( $("#blog").html(), {} );
this.$el.html( template );
}
});

IndexView = Backbone.View.extend({
initialize: function () {
this.render();
},
render: function () {
var template = _.template($("#index").html(), {});
this.$el.html(template);
},
events: {
"click a": "initBlogView"
},
initBlogView: function () {
blog_view.render();
return false;
}
});

var blog_view = new BlogView({ el: $("body") });

var index_view = new IndexView({
el: $("body")
});

其次,我会

最佳答案

我认为定位“body”的问题在于您还覆盖了脚本模板标记。之后下划线找不到模板,导致错误。尝试改为定位容器。

要添加类,您只需使用 this.$el.find("#container").addClass("class")

Here's the updated Fiddle.

关于javascript - 如何从backbone.js中的 View 渲染 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19172042/

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