W sumie „nowoczesny” przeglądarek następujące prace ale nie w IE8:Stosując warunkowe szablony pucharowej z IE8
<!-- ko template: {if: $root.itemToEdit.SomeObject() === $data, name: 'EditItemTemplate', afterRender: $root.initializeEditPanel } -->
<!-- /ko -->
pojawia się następujący błąd:
SCRIPT5022: Unable to parse bindings. Message: SyntaxError: Expected identifier, string or number; Bindings value: template: {if: $root.itemToEdit.SomeObject() === $data, name: 'EditItemTemplate', afterRender: $root.initializeEditPanel }
wydaje się być dołączenie instrukcji if
do definicji szablonu. Jeśli zmienię znaczników do dalszej IE8 jest zadowolony:
<!-- ko if: $root.itemToEdit.SomeObject() === $data -->
<!-- ko template: {name: 'EditItemTemplate', afterRender: $root.initializeEditPanel } -->
<!-- /ko -->
<!-- /ko -->
Dlaczego w tym oświadczenie w moim szablonu nie pracuje w IE8 if
?
Yep. To naprawiło to. Dzięki, Ryan. –
Mogę opublikować to jako Q & A tutaj, ale na razie, tylko dlatego, że spędziłem 5 godzin próbując to zrozumieć ... jeśli masz problemy z szablonami IE8 i KO, upewnij się, że twój aktualny szablon nie znajduje się w żadnym ko jeśli bloki. Miałem szablony w różnych częściach strony i miałem problemy tylko w IE8. Przeniesiono je wszystkie na wierzch ciała, teraz pracują świetnie. – eselk
@eselk Uratowałeś mnie co najmniej 5 godzin, pisząc swój komentarz. Dziękuję Ci! – Peter