title: How bind change event with view when in-array object's property changed?
body: <p>The following are some of my coffeescript code</p>
  
  <pre><code>class Floor extends Backbone.Model
      defaults:
          "array":[]
  
      initialize: -&gt;
          a = []
          for i in [0..10] by 1
              tmp = {
                  x: i*10,
                  y: i*10
              }
              a.push(tmp)
          this.set('array', a)
  
  class FloorView extends Backbone.View
      initialize: -&gt;
          this.model.on('change:array', this.renderArray, this) 
  
      renderArray: -&gt;
          console.log 'Do something'
          return this
  
  floor1 = new Floor
  floorView = new floorView({ model:floor1})
  </code></pre>
  
  <p>The following three lines are not fire the change event calling renderArray
  method </p>
  
  <pre><code>array = floor1.get('array')
  array[0].x = 1000;
  floor1.set('array',array)
  </code></pre>
  
  <p>but the following code actually call the renderArray method</p>
  
  <pre><code>floor1.set('array',{});
  </code></pre>
  
  <p>is there any method to detect property changed of an object in an array?</p>
  
  <p>or what I have done wrong?</p>