2012-02-07 4 views
3

Je suis nouveau sur JavaScript et knockoutjs. C'est probablement la plus basique des questions et j'espère pas trop stupide à poser ici ...déclarant voir les modèles dans knockoutjs

Sur une grande partie de la documentation je vois les modèles de vue déclarés de deux manières différentes. Parfois, ils sont déclarés en tant que fonctions et à d'autres moments, ils sont des objets simples. Quelle est la différence et quels sont les scénarios dans lesquels j'utiliserais chacun.

var viewModel = { 
     property: ko.observable() 
    } 

Ou

var viewModel = function(){ 
     this.property = ko.observable() 
    } 

Toutes mes excuses si cela est une question stupide ....

+0

vous ne pouvez pas utiliser 'propriété: ko.observable()' l'intérieur de la fonction, mais plutôt 'this.property = ko.observable();' – xec

+0

grâce xec, mon mauvais. J'ai modifié la question – macou

Répondre

1

Le second exemple est une fonction constructeur JavaScript - depuis JavaScript ne pas "classes", C'est ainsi que vous implémentez la création d'instance "classlike".

Plus d'info: http://www.javascriptkit.com/javatutors/oopjs2.shtml

+0

Merci Val, j'apprécie le lien. J'ai beaucoup de lecture à faire;) – macou

+2

les littéraux d'objet (votre premier exemple) sont très simples à utiliser et c'est pourquoi de nombreux exemples les utilisent. Cependant, l'utilisation de fonctions (et de motifs tels que le motif de module et le motif de module de révélation) pour créer des vues est un peu plus robuste. tout en apprenant Knockout, ne vous inquiétez pas trop sur ce que vous utilisez. mais certainement lire sur ces sujets et il sera plus logique que vous approfondir dans KO. –

Questions connexes