2017-09-20 5 views
0

J'ai un problème avec mon contrôleur - l'application ne va pas à l'intérieur et ne montre pas les images mais ce qui est pire, aucun journal du contrôleur (console.log ("AppCtrl")). Je ne sais pas où a fait une erreur.
app.js
AngularJS ne parvient pas à entrer dans un contrôleur

(function() { 
    angular.module('AppModule', ['ui.router']) 
    .config(['$stateProvider', '$urlRouterProvider', 
    function($stateProvider, $urlRouterProvider) { 
     $urlRouterProvider.otherwise('posts-view'); 
     $stateProvider 
     .state('posts-view', { 
      url:'/style/views', 
      templateUrl: '/posts-view.html', 
      controller: 'AppCtrl' 
     }) 
     .state('single-post-view', { 
      templateUrl: '/style/views/single-post-view.html' 
      }); 
     /*.otherwise({ 
      redirectTo: 'style/views/posts-view' 
     })*/ 
    } 
    ]); 
})(); 

controller.js

angular.module('AppModule') 
.controller('AppCtrl', AppCtrl); 
    AppCtrl.$inject = ['AppData']; 

    function AppCtrl(AppData) { 
    console.log("AppCtrl"); 
    var vm = this; //View model; 
    //vars 
    vm.posts = []; 
    //definitions 
    vm.getFoto = getFoto; 
    //inits 
    vm.getFoto(); 

    function getFoto() { 
     AppData.fetchNewPosts() 
     .then(function Success(data) { 
     vm.posts = data.data.data; 
     }, function Error(error) { 
     }); 
    } 
    } 

service.js

angular.module('AppModule') 
    .factory('AppData', AppData); 
    AppData.$inject = ['$http']; 

    function AppData($http) { 
    var exports = { 
     fetchNewPosts: fetchNewPosts, 
    }; 
    return exports; 

    function fetchNewPosts() { 
     //some not important code at the moment 
    } 
    } 

messages-view.html

<div class="posts"> 
    <h2> Cosplay section sorted from the newest</h2> 
    <div class="row" ng-repeat="post in AppCtrl.posts"> 
     <div class="col-md-3 post-block" ng-mouseenter="option=true" ng-mouseleave="option=false"> 
     <img ng-show="{{post.images[0]}}" src="{{post.images[0].link}}" alt="image" > 
     <img ng-hide="{{post.images[0]}}" src="{{post.link}}" alt="image"> 
     <span class="title-box" ng-show="option">{{post.title}}</span> 
     </div> 
    </div> 
</div> 

App va à l'intérieur des postes view.html, car il affiche le texte dans les balises h2, mais rien de plus. S'il vous plaît aidez-moi et je suis désolé pour mon anglais.

Répondre

0

Ok, je l'ai compris. J'ai inclus "post-view.html" dans index.html avec ng-include c'est pourquoi j'ai pu voir le tag de post-view.html. Lorsque j'ai défini un chemin approprié vers le fichier ma, j'ai obtenu le même résultat qu'avant.

Mais je n'arrive toujours pas à entrer dans les variables ou les fonctions d'un contrôleur. Quand je suis en train d'utiliser un ensemble variable contrôleur:

vm.foo = "foo"; 

l'intérieur d'un post-view.html utilisant

<span> {{AppCtrl.foo}}</span> 

Malheureusement rien n'apparaît. Où est un problème ?? Aidez-moi, s'il vous plaît.

PS. Quand j'utilise $ scope, c'est OK, mais je ne veux pas faire ça. Je veux le faire correctement en utilisant le nom du contrôleur ou l'alias.