2017-05-11 31 views
1

このplunkerには:http://plnkr.co/edit/OZa7rvWLQuRHJGiJ8dBL?p=preview

コントローラに$http.getを追加してページを実行するのが難しいです。 app.jsで

-

私はこのコードを持っている:

angular.module('example-app', ['hc.marked', 'hljs']) 
    .config(['markedProvider', 'hljsServiceProvider', function(markedProvider, hljsServiceProvider) { 
     // marked config 
     markedProvider.setOptions({ 
     gfm: true, 
     tables: true, 
     sanitize: true, 
     highlight: function (code, lang) { 
      if (lang) { 
      return hljs.highlight(lang, code, true).value; 
      } else { 
      return hljs.highlightAuto(code).value; 
      } 
     } 
     }); 

    }]) 
    .controller("MainController", ["$rootScope", "$scope", "marked", function MarkdownController($rootScope, $scope, marked, $http) { 

    }]); 

plunkerが正常に動作し続けるように、この$http.getを追加する方法を?

$http.get('http://beta.json-generator.com/api/json/get/VyD_JWT1Q') 
      .then(function (res) { 
       $scope.todos = res.data.todo; 
       $scope.events = res.data.event; 
       $scope.aboutlongs = res.data.aboutlong; 
       $scope.mainpoints = res.data.mainpoint; 
       $scope.tags = res.data.tag; 
       $scope.galleries = res.data.gallery; 
       $scope.menus = res.data; 
       $scope.socials = res.data.social; 
      }); 

私はこれを試してみたが、それは壊れる:事前に

angular.module('example-app', ['hc.marked', 'hljs']) 
    .config(['markedProvider', 'hljsServiceProvider', function(markedProvider, hljsServiceProvider) { 
     // marked config 
     markedProvider.setOptions({ 
     gfm: true, 
     tables: true, 
     sanitize: true, 
     highlight: function (code, lang) { 
      if (lang) { 
      return hljs.highlight(lang, code, true).value; 
      } else { 
      return hljs.highlightAuto(code).value; 
      } 
     } 
     }); 

    }]) 
    .controller("MainController", ["$rootScope", "$scope", "marked", function MarkdownController($rootScope, $scope, marked, $http) { 
     $http.get('http://beta.json-generator.com/api/json/get/VyD_JWT1Q') 
      .then(function (res) { 
       $scope.todos = res.data.todo; 
       $scope.events = res.data.event; 
       $scope.aboutlongs = res.data.aboutlong; 
       $scope.mainpoints = res.data.mainpoint; 
       $scope.tags = res.data.tag; 
       $scope.galleries = res.data.gallery; 
       $scope.menus = res.data; 
       $scope.socials = res.data.social; 
      }); 
    }]); 

感謝を。

+1

:それは次のようにする必要があります。 .controller( "MainController"、 "" $ rootScope "、" $ scope "、" marked "、" $ http "。この質問をチェックするhttp://stackoverflow.com/questions/17478014/injecting-http-and-scope -into-function-within-controller –

+0

コントローラ部分の最初のセクションに$ httpを追加しておらず、関数セクションに追加しました –

答えて

1

コントローラーに$ httpを依存関係として挿入してください。

.controller("MainController", ["$rootScope", "$scope", "$http", "marked", .... 
+0

$ httpを依存関係として追加しましたが、それでも動作しません:http://plnkr.co /編集/ OZa7rvWLQuRHJGiJ8dBL?p =プレビュー私が逃したものを見るために大胆な作業をすることができますか?ありがとう! – sojim2

+2

@ sojim2それは同じ順序で注入する必要がありますので、気をつけてください:) – DevMoutarde

+1

それは@DevMoutarde、ありがとう! – sojim2

1

コントローラの依存性注入順序を修正してください(Marked and $http)。あなたは依存関係として '$のhttp' を追加しませんでした

.controller("MainController", ["$rootScope", "$scope", "$http", "marked", function MarkdownController($rootScope, $scope,$http, marked) { 

Plunker

関連する問題