IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Syntaxe mystique dans SproutCore


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut Syntaxe mystique dans SproutCore
    Bonjour a tous,

    Alors voila, si vous vous etes deja interesse au framework SproutCore et que vous avez suivi le guide, vous etes surement tombe sur ce bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // before SC.ready
     
    Todos.StatsView = SC.TemplateView.extend({
      remainingBinding: 'Todos.todoListController.remaining',
     
      displayRemaining: function() {
        var remaining = this.get('remaining');
        return remaining + (remaining === 1 ? " item" : " items");
      }.property('remaining')
    });
    (celui ci ce trouve a cette adresse)

    J'ai suffisament cherche sur internet mais je n'ai rien trouve.
    Je comprends bien ici que l'on fait appelle a la methode SC.TemplateView.extend en lui passant en parametre un objet qui contient une methode displayRemaining.
    Sauf que je ne comprend absolument pas ce que fait cette ligne de code: "}.property('remaining')" .

    A qui apartient cette methode property, d'ou vient elle etc... ?

    Si l'un de vous pouvait m'expliquer, parce que la je seche completement.

    Merci et bon week end.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 128
    Par défaut
    C'est une méthode de la fonction.
    En javascript les fonctions sont des objets pouvant elles aussi avoir des propriétés et des méthodes.

    Si tu consulte la doc tu verra que SproutCore augmente les fonctions avec plusieurs méthodes, dont la méthode property qui t'intéresse :

    http://docs.sproutcore.com/?#doc=Fun...erty&src=false

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Citation Envoyé par TheGwy Voir le message
    C'est une méthode de la fonction.
    En javascript les fonctions sont des objets pouvant elles aussi avoir des propriétés et des méthodes.
    Lorsque je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {
    displayRemaining: function() {
    // ...
    // ...
      }.property('remaining')
    }
    Literalement en JavaScript, cela veut dire que displayRemaining est un objet que je definis puis j'applle la methode property de cet objet. Or ici, je n'ai pas cree cette methode.

    Du coup, je cherche a savoir a qui appartient cet methode.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 128
    Par défaut
    Comme dit plus haut, c'est une méthode de ta fonction.

    Tu n'as pas créé cette méthode, c'est le framework Sproutcore qui l'a fait pour toi : implicitement toutes tes fonctions possèdent cette méthode.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Et comment on peut faire ca (creer des methodes par defaut aux fonctions) ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    C'est bon j'ai trouve.
    Pour ceux que ca interesse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Function.prototype.property = function(){
    // ...
    // ...
    };
    Merci pour ton aide TheGwy .

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 128
    Par défaut
    Comme pour tout objet, en javascript : tu la définie dans son prototype.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function.prototype.go = function(){
     
        alert('go-go-gadgeto-gadget !');
    };
     
    (function(){
     
        // bla bla bla
        return true;
    }).go();
     
    document.getElementById.go();
    document.getElementById.go.go.go();
    Edit : derien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 04/12/2005, 08h08
  2. Syntaxe tableaux dans ordre SQL INSERT
    Par lio33 dans le forum SQL
    Réponses: 6
    Dernier message: 19/10/2005, 17h07
  3. [ACCESS] Syntaxe SQL dans un TQuery avec Requestlive=True
    Par Unusual_FL dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2005, 10h51
  4. probleme de syntaxe sql dans VB
    Par njac dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 20/05/2005, 14h41
  5. erreur de syntaxe javascript dans ma page
    Par Oluha dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/02/2005, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo