2016-08-01 4 views
0

構成モジュールの相対パスであるtemplateURLを使用してコンポーネントを設定しようとしています。コンポーネントのTemplateURLを設定済みのパスに設定します。

angular.module('app.config', []) 
    .constant('config', { 
    TEMPLATES_URL: 'js_2/templates/', 
    COMPONENTS_URL: 'js_2/components/' 

})

家:それはコントローラの外にあるので、私は構成に依存して

app.config.jsを持参する方法を見つけ出すことはできません。 app.js:

angular.module('home.app', ['rest.service', 'app.config']); 

home.component.js:

angular.module('home.app').component('home', { 
    /* HOW DO I INJECT THE 'config' DEPENDENCY */ 
templateUrl: config.TEMPLATES_URL + 'home.template.html', 
controller: ....}) 

私はコントローラに注入するときは、単に「設定」を注入し、それを使用するであろうことを知っているが、私は

あなたが設定する必要があなたに

+0

[Angular 1.5 component method templateUrl + function]の複製が可能です(http://stackoverflow.com/questions/33841909/angular-1-5-component-method-templateurl-function) – estus

+0

私はそのリンクを信じられません実際にはtemplateURLメソッドに挿入する方法はありますか?あなたは同じ手順templateUrlに従いますか:['config'、function(....)] – pasquers

+0

これは正しいです。 Angularのすべての注入可能な関数は同じ方法で呼び出されます(フレームワークは '$ injector.invoke'メソッドで呼び出します)、同じよく知られているDIの仕組みに従います。あなたは1つを知っている、あなたはそれらすべてを知っている。 – estus

答えて

0

ありがとうコンポーネントにこれを実行する方法がわかりませんあなたのサービスを注入し、このように、URLを返しますtemplateUrlの機能:

angular.module('fsad').component('fsadLeefloon', { 
    bindings: { 
     onChanges: '&?' 
    }, 
    templateUrl: function(appConstant){return appConstant.paths.modules.fsad + 'leefloon/fsad-leefloon.html'}, 
    controller: controller 
    }); 

また、このstructure guideはあなたが良いコンポーネントのスタイルを設定するに役立つことがあります。

関連する問題