javascript - 在 Backbone Js 中处理模型事件

标签 javascript jquery html ajax backbone.js

我已经编写了以下脚本来动态更新值而不刷新,脚本没问题,但 id 没有在页面中显示更新后的值。然而,在 Chrome 浏览器的控制台中,它显示了属性的更新值,但在页面中却没有。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>Pass Data to Views</title>
</head>
<body>
  <!-- ========= -->
  <!-- Your HTML -->
  <!-- ========= -->

  <div id="container"></div>

  <!-- ========= -->
  <!-- Libraries -->
  <!-- =========
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js" type="text/javascript"></script>  -->
  <script src="js/jquery.min.js" type="text/javascript"></script>
  <script src="js/underscore-min.js" type="text/javascript"></script>
  <script src="js/backbone-min.js" type="text/javascript"></script>
  <script src="js/backbone.localStorage-min.js" type="text/javascript"></script>
  <!-- =============== //
  <!-- Javascript code -->
  <!-- =============== -->
  <script type="text/javascript">

  // Model
  var Song = Backbone.Model.extend({
    defaults: {
      listeners: 0
    }
  });

var SongView = Backbone.View.extend({
  initilize: function(){
    this.model.on("change", this.render,this);
  },

  render: function(){
    this.$el.html(this.model.get("title") + " - Listerners : " + this.model.get("listeners"));
    return this;
  }
});

var song = new Song({title: "Blue in Green"});
var songView = new SongView({el: "#container", model: song});
songView.render();
</script>

</body>
</html>

最佳答案

您似乎忘记将 View 添加到您的 html 页面。您的脚本中需要这样一行:

$('body').append(songView.render().el);

您可以使用您想要的任何其他元素来代替“body”。

还有一件事:歌曲 View 中的“初始化”一词有错别字。因此, View 中的监听器不会对更改使用react。

关于javascript - 在 Backbone Js 中处理模型事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27654261/

相关文章:

javascript - jQuery在php echo中动画div

javascript - 从分隔字符串中读取数据以创建选择元素

html - 添加条纹文本阴影和描边

html - 在 <canvas> 上鼠标悬停时制作图像缩放

javascript - 如何将 Javascript 数组字符串化以存储在 localStorage 中

javascript - 突出显示新事件的选项卡

javascript - 是否可以限制一个 div 可以拥有的最大子级数量?

jquery - MVC 3 复选框始终返回 true,即使未选中也是如此

php - 带有确认框的 javascript 重定向 url

javascript - 如何在 HTML5 对象或 iframe 中禁用用户交互/事件