In tutto 'moderna' browsers i seguenti lavori ma non in IE8:Utilizzando i modelli knockout condizionali con IE8
<!-- ko template: {if: $root.itemToEdit.SomeObject() === $data, name: 'EditItemTemplate', afterRender: $root.initializeEditPanel } -->
<!-- /ko -->
ottengo il seguente errore:
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 }
sembra essere il inclusione dell'istruzione if
all'interno della definizione del modello. Se cambio la marcatura a quanto segue, IE8 è felice:
<!-- ko if: $root.itemToEdit.SomeObject() === $data -->
<!-- ko template: {name: 'EditItemTemplate', afterRender: $root.initializeEditPanel } -->
<!-- /ko -->
<!-- /ko -->
Perché non compreso un if
dichiarazione nel mio modello non funziona in IE8?
Yep. Questo l'ha risolto. Grazie, Ryan. –
Potrei postare questo come Q & A qui, ma per ora, solo perché ho appena trascorso 5 ore cercando di capirlo ... se hai problemi con i modelli IE8 e KO, assicurati che il tuo modello attuale non sia all'interno di qualsiasi ko se blocchi Ho avuto i miei modelli in varie parti della pagina e stava avendo problemi solo in IE8. Li ho spostati tutti in cima al corpo, ora funziona alla grande. – eselk
@eselk Mi hai salvato almeno 5 ore scrivendo il tuo commento. Grazie! – Peter