Estou usando demais o plug-in de mapeamento do Knockout usando-o sempre para fazer meu modelo de exibição?
Ainda estou aprendendo o uso adequado do Knockout e me vi rapidamente me esquecendo de digitarko.observable
ao configurar meu viewmodel e apenas definir um literal de objeto e transmiti-lo pelo plug-in de mapeamento com algo como
var viewModel = ko.mapping.fromJS(data);
ou, no mínimo, algo como incluir todos os meus dados em um atributo no viewModel assim
var viewModel = {
... events etc ... ,
"data": ko.mapping.fromJS(data)
}
Para ser sincero, a principal razão pela qual faço isso é evitar digitarko.observable
eko.observableArray
repetitivamente. Estou apenas tentando descobrir se essa é uma boa abordagem e se há alguma desvantagem em abandonar o @ específivar x = ko.observable()
declaração todos juntos. Além disso, estou fazendo isso tudo em carga, não em resposta a qualquer chamada de ajax, etc., e pelo que sei, é para isso que o plug-in de mapeamento foi projetad
No seu trabalho com nocaute, você ainda declara os observáveis manualmente, um por um, ou seguiu o método mapping.fromJS que eu uso? Existem desvantagens específicas no uso do plug-in de mapeamento com tanta frequência assim?
Editar
Exemplo específicoNeste artig, Steve configura seu viewModel fazendo
var initialData = [ { ... } , { ... } ]; // json from the serializer
var viewModel = {
gifts : ko.observableArray(initialData)
};
Normalmente, eu usariako.mapping.fromJS
também para esta situação, especificamente para garantir que os objetos na matriz também sejam observáveis. Olhando para o que ele fez, minha abordagem parece um exagero e acrescenta um pouco de sobrecarga desnecessári