我正在使用durandal
和knockout
开展大型SPA项目。
我们正面临内存泄漏问题。
通常我们在一个页面中,我们需要转到下一页。
浏览器堆在我们转到下一页时被清除,反之亦然。
在我们的SPA路由中,我们需要清除当前页面大小(内存)。
durandal
撰写绑定有什么方法吗?
答案 0 :(得分:0)
<!-- HTML Page Templates -->
<article class="main-user-page">
<div data-bind="compose: {model: '/viewmodel/viewLoginUser',view:'view/viewLoginUser'}">
</div>
</article >
<article class="main-user-list-page">
<div data-bind="compose: {model: '/viewmodel/user/viewUserList',view:'view/user/viewUserList'}">
</div>
</article >
<article class="user-list-page">
<div data-bind="forEach: userList">
<span data-bind="Name"></span>
<span data-bind="email"></span>
<span data-bind="Role"></span>
</div>
</article >
<code>
<pre>
/*we are using Durandal for routing and composeing template
all files have same Structure
*/
function define(['services/utilities', 'durandal/app', 'durandal/system', 'services/logger', 'config', 'services/datacontext','services/bindingHandler'],
function (util, app, system, logger, config, datacontext) {
var userList = ko.observableArray([]);
var userObj = ko.observable();
function activate(){
return datacontext.getUserList().then(result){
userList(result);
}
}
function deactivate(){
userList.removeAll();
}
return {
userList: userList,
userObj: userObj
}
});
</pre>
</code>