2017-09-20 4 views
0

私のコントローラに問題があります - アプリケーションは内部には入っておらず、画像も表示されませんが、コントローラからのログは最悪です(console.log( "AppCtrl"))。私はどこが間違ったのか分からない。
app.js
AngularJSがコントローラの中に入っていない

(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 
    } 
    } 

ポスト-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> 

それはH2タグ内のテキストを示しているためアプリケーションは、ポスト・view.htmlの内部に入るが、より多くの何もありません。私の英語はすみません。

答えて

0

[OK]を取得しました。私は "post-view.html"をindex.htmlにng-includeとともに含めました。そのため、post-view.htmlからタグを見ることができました。 maファイルへの適切なパスを設定すると、前と同じ結果になります。

しかし、私はまだコントローラの変数や関数に入ることができません。私は、コントローラ内の変数セットを使用しようとしているとき:

vm.foo = "foo"; 

を使用して、ポストview.html内部

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

は残念ながら何も現れません。問題はどこですか?私を助けてください。

PS。私が$ scopeを使用するとOKですが、私はそれをしたくありません。私はコントローラーやエイリアスの名前を使って正しい方法でこれをしたいです。

関連する問題