2016-06-15 8 views
0

providerを使用してコントローラに値を設定して取得しようとしています。しかしここでproviderの使い方についてはっきりしていません。`provider`を使用して` controller 'のデータを取得する方法

configオプションを使用してproviderを使用するのに手助けができますか? providerconfigの関係についても知りたいです。私が取得するために不足しているschool注入を削除する必要がありました

app.config(function(bookProvider){ 
    bookProvider.setVersion("4.0"); 
}); 

...私のコメントで述べたように

var app = angular.module('plunker', []); 

app.value("person", {'name':"arif"}); 

app.constant("env", {url:"production"}); 

app.provider("book", function(){ //declaring provider 
    var version; 
    return { 
    setVersion : function(value){ 
     version = value; 
    }, 

    $get : function(school){ 
     return { 
     "newVersion" : "title" + ':' + version 
     } 
    } 
    } 
}); 

app.config(function(newBook){ //setting a new value 
    newBook.setVersion = "4.0"; 
}); 

app.controller('MainCtrl', function($scope, person, env, book) { 
    $scope.name = env.url; 
    $scope.value = person.name; 
    $scope.version = book; //i am not getting the new value here. 
}); 

Live Demo

+1

あなたは 'bookProvider'を注入すべきではないと、あなたの' config'をして '' bookProvider.setVersion( '4.0')を呼び出して、.provider()ドキュメントのためhttps://docs.angularjs.org/api/auto/service/$provide#providerを参照してください? – Phil

+0

コンソールにエラーが表示されているはずです。 – Phil

答えて

2

:ここ

でエラーが発生します私の試みであり、それは動作するが、あなたは画像を取得する必要があります。固定

http://plnkr.co/edit/6Sb6rOSvA7ihvTLPTujY?p=preview

プロバイダレシピの詳細については、https://docs.angularjs.org/guide/providers#provider-recipeを参照してください。

は、具体的...

NOTE: the provider will be available under name + 'Provider' key.

+0

私は同意します。私はここで疑問があります、 'app.config(function(bookProvider)'プロバイダブックに接続する方法 'app.provider(" book "、function())'はあなたに理解を助けることができますか? – 3gwebtrain

+1

@ 3gwebtrain see my – Phil

+0

あなたを参照してplunkerを参照すると、 '$ .get:'に与えられた関数名はありません。コントローラ内のbookを –

関連する問題