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

AngularJS Discussion :

Angular js ne marche pas sur une vue


Sujet :

AngularJS

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Angular js ne marche pas sur une vue
    Bonjour, je suis entrain de développer un site e-commerce avec angular js, j'ai fait une vue pour le panier , il se trouve que les expression angualar ne marche pas ng-repeat non plus. ma vue s'appelle panier.php du que je transferts des données de php vers js . cordialement.
    voici le code de la vue
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <?php
    include_once("../caddi.php");
    //echo($json);
        ?>
     
    <script>
        var panier =JSON.stringify('<?php print_r( $json); ?>');
        localStorage.setItem('panier', panier);
        produits=panier.pLdc;
    </script>
    <script>
     
     
    </script>
    <input type="hidden" ng-init="articles=panier" >
    <table class="table-bordered active">
        <caption class="banner-title"> Panier de {{articles.prenom articles.prenom}}</caption>
        <caption class="span8">ville: {{articles.ville}}</caption>
        <tr>
            <th>nom</th>
            <th>prix</th>
            <th>quantite</th>
            <th>montant</th>
     
        </tr>
        <tr ng-repeat="produit in produits">
            <td>{{produit.nom}}</td>
            <td>{{produit.prix}}</td>
            <td>{{produit.quantite}}</td>
            <td >{{produit.quantite * produit.prix}}</td>
            <td></td>
        </tr>
        <tr>
            <td class="col-lg-3">total</td>
            <td>{{produits.total}}</td>
        </tr>
     
    </table>
     
    1+5 = {{1+5}}
    voici le code js
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    'use strict';
     
    /**
     * @ngdoc overview
     * @name workspaceAngularApp
     * @description
     * # workspaceAngularApp
     *
     * Main module of the application.
     */
    angular
        .module('workspaceAngularApp', [
     
            'ngRoute'
        ])
        .config(function ($routeProvider) {
            $routeProvider
                .when('/', {
                    templateUrl: 'views/main.html',
                    controller: 'MainCtrl'
                })
                .when('/about', {
                    templateUrl: 'views/employes.html',
                    controller: 'AboutCtrl'
                })
                .when('/panier', {
                    templateUrl: 'views/pannier.php',
                    controller: 'PanierCtrl'
                })
                .when('/inscription', {
                    templateUrl: 'views/user.html',
                    controller: 'UserCtrl'
                })
                .when('/forum', {
                    templateUrl: 'views/forum.html',
    // jscs:disable
    // jscs:disable
                    controller: 'ForumCtrl'
    // jscs:enable
    // jscs:enable
                })
                .when('/employes', {
                    templateUrl: 'views/employes.html',
                    controller: 'employe'
                })
                .when('/resultInscription', {
                    templateUrl: 'views/ResultInscription.html',
                    controller: 'AboutCtrl'
                })
                /*
                 .when('/user', {
                 templateUrl: 'views/user.html',
                 controller: 'UserCtrl'
                 })*/
                .otherwise({
                    redirectTo: '/'
                });
        });
     
    /**
     * @ngdoc function
     * @name workspaceAngularApp.controller:MainCtrl
     * @description
     * # MainCtrl
     * Controller of the workspaceAngularApp
     */
    angular.module('workspaceAngularApp')
        .controller('MainCtrl', function ($scope) {
            $scope.awesomeThings = [
                'HTML5 Boilerplate',
                'AngularJS'
     
            ];
        });
     
     
     
    var app = angular.module('workspaceAngularApp');
    app.controller('PanierCtrl', ['$scope', '$http', function ($scope) {
     var panier=$scope.panier;
        console.log(panier);
     
        }]);


    voici le rendu html
    Nom : Capture.PNG
Affichages : 343
Taille : 30,1 KoPièce jointe 191430


    cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Que donne console.log($scope.panier) dans la console? Ton Objet Json est-il bien formé?

    Pour récupérer les données d'un fichier PHP( qui a converti en json avec json_encode()), faut utiliser le service natif $http de angular.

    Vite fait, pour récupérer tes données, cela ferait un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $http.get('caddi.php').success(function(data){ 
                        $scope.panier = data;
                });
    Tu peux le placer dans le controleur, mais normalement, il faut créer une factory dédiée au CRUD.

    Dans ton code, tu as un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     var panier =JSON.stringify('<?php print_r( $json); ?>');
    d'un Json dont je ne saisis pas trop le but, il faut utiliser $http de angular
    Dernière modification par Invité ; 31/10/2015 à 14h49.

  3. #3
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337

Discussions similaires

  1. Executable C# ne marche pas sur une autre machine
    Par clakinette dans le forum C#
    Réponses: 10
    Dernier message: 25/01/2010, 22h33
  2. [Dojo] push ca marche pas sur une variable de classe ?
    Par Zineb1987_UNI dans le forum Bibliothèques & Frameworks
    Réponses: 11
    Dernier message: 14/12/2009, 10h12
  3. Réponses: 1
    Dernier message: 04/11/2009, 15h33
  4. Réponses: 8
    Dernier message: 23/06/2007, 10h38
  5. DATEDIFF() qui ne marche pas sur une version 5.0.xx
    Par vallica dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/05/2006, 17h44

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