Сброс значения внешнего шаблона
Использую внешний шаблон Knockout https://github.com/ifandelse/Knockout.js-External-Template-Engine
Но как очистить вновь связанное значение и текст из внешнего шаблона. мой HTML-код что-то вроде этого
HTML
<ul data-bind="template: { name: 'RegistrationForm.html' }"></ul>
<div data-bind="click:Add"></div>
Сценарии Когда я нажимаю кнопку "Добавить", значение формы из "RegistrationForm.html" будет привязано к сетке, но в то же время мне нужно очистить все значения привязки из "RegistrationForm.html". Предположим, у меня есть много полей и привязка текста к выбранному шаблону. поэтому мой вопрос, как очистить текст привязки и значение формы из шаблонов при нажатии кнопки.
Актуальный сценарий:
При открытии шаблона пользователя значение и текст, относящиеся к соответствующему пользователю, будут привязаны к этому шаблону. но когда я нажимаю на следующего пользователя без какого-либо значения, первое пользовательское хранилище остается там. Я использую один шаблон для всех пользователей)
Спасибо
РЕДАКТИРОВАТЬ Мой код, как эта структура
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Templates</title>
<style>
.clear {
clear: both;
}
</style>
<script type="text/javascript" src="lib/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="lib/knockout-3.3.0.js"></script>
<script type="text/javascript" src="lib/koExternalTemplateEngine_all.js"></script>
<script>
$(function(){
function pop1(data)
{
this.a = ko.obeservable(data.a || '');
this.b = ko.obeservable(data.b || '');
}
function pop2(data)
{
this.c = ko.obeservable(data.c || '');
this.d = ko.obeservable(data.d || '');
}
Viewmodel = function(){
self = this;
self.obj = new Object();
self.name = {
id:1
name:'test'
};
self.types = [
{
id:1
name:'test'
},
{
id:2
name:'test2'
}
];
self.whichPopup = fucntion(){
switch (name()){
case '1':
//Load Template for this option
//This wil b a user form with some value will bind when on laod
var data {}; // data with a and b
self.obj = new pop1(data);
break;
case '2':
//Load Template for this option
var data {}; // data with c and d
self.obj = new pop1(data);
break;
}
};
};
}); </script>
</head>
<body>
<div class="Temp">
<div class="temp1">
<div data-bind="template:{name : 'Template1.html'}"></div>
</div>
<div class="clear"></div>
<div class="temp2">
<div data-bind="template:{name : 'Template2.html'}"></div>
</div>
<div class="clear"></div>
<select class="submission_type"
data-bind="options: types,
optionsText : 'name',
value: name,
optionsCaption:'---Select---'
">
</select>
<div data-bind="template:{name : whichPopup}"></div>
<!-- This part working -->
<!--
Table here
i need to add multiple entried here,
so will add users here
1- Select type
2- Tempalte will opened in a popup
3- Save to,then dispaly to the grid
-->
<!--
1- Selcted option type that i hav already added before for to add same type but diffrent user
2- popup1 will opened
3- but it have the values that i have first time added
4- if it was text box only then i can clear but it have some text binding to a div too
-->
</div>
</body>
</html>
ОБНОВЛЕНИЕ Я изменил концепцию, дайте мне знать, как отключить шаблон кэширования в нокауте Внешний шаблон. пока я пробовал:
infuser.defaults.ajax.cache = false
но не работает, мне просто нужно обновить шаблон. Спасибо