Backbone - 简单应用程序中的建议

时间:2016-06-23 12:41:58

标签: javascript backbone.js

您好,这是我在骨干网中的简单应用程序:

  

https://jsfiddle.net/quygo8vh/

很抱歉,所有JS代码都在一个文件中,但jsfiddle没有其他选项。我不像我想的那样擅长骨干,而且我有一个简单的操作方法问题。

有人可以查看我的代码并告诉我我做错了什么,应该如何以正确的方式完成。

我的主要问题是编辑操作。基本上我只是这样做了:

<?php

$client = new SoapClient(__DIR__ . '/../services.xml', 
                         array('local_cert' => 'cert.pem',
                               'cache_wsdl' => WSDL_CACHE_NONE));

var_dump($client->testSum(1, 2)); # => int(3)
var_dump($client->testSum(1, 2)); # no output ...

但是我遇到了editView = new EditView(); editView.setModel(App.users.get(id)); editView.render(); 的多个实例的问题,并且在第二次更新时我得到了模型的重复更新:)。

1 个答案:

答案 0 :(得分:0)

这是因为在创建EditView的新实例时,您还要将事件侦听器再次添加到同一元素:

'click #update-user': 'updateUser'

此侦听器将继续添加每个实例创建。

您可以做的是,您可以在模型上触发事件,而不是创建新的编辑视图,例如:

model.trigger('editUserDetails')

在AddView中捕获此事件,只需更新您的视图,如下所示:

this.listenTo(this.model, 'editUserDetails', this.updateView);