2016-06-15 4 views
0

provider을 사용하여 컨트롤러에 값을 설정하고 가져 오려고합니다. 그러나 여기서 provider을 사용하는 방법이 명확하지 않습니다.`provider`를 사용하고 '컨트롤러'에서 데이터를 검색하는 방법

아무도 providerconfig 옵션과 함께 사용할 수 있습니까? providerconfig 사이의 관계에 대해서도 알고 싶습니다. 여기

던졌습니다 내 시도이며, 오류 :

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' 및 전화'bookProvider.setVersion를 ('4.0') 주입 안'당신'config'에서? – Phil

+0

콘솔의 오류로 인해 지침이 제공되었을 것입니다. – Phil

답변

2

... 난 얻을 수없는 school 주입을 제거했다 그것은 작동하지만 그림을 얻어야합니다.

는 ~

http://plnkr.co/edit/6Sb6rOSvA7ihvTLPTujY?p=preview제공 조리법에 대한 자세한 내용은 https://docs.angularjs.org/guide/providers#provider-recipe를 참조 수정되었습니다.

특히 .provider() 문서에 대한 https://docs.angularjs.org/api/auto/service/$provide#provider를 참조하십시오 ...

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

+0

동의합니다. 나는 app.config (function (bookProvider)'공급자 서적에 연결하는 법'(app.provider ("book", function())'을 이해하는 데 도움이 될 수 있겠습니까? – 3gwebtrain

+1

@ 3gwebtrain my – Phil

+0

을 plunker로 편집하면'$ .get :'에 함수 이름이 없으므로 컨트롤러에서 책을 호출합니까? –