2016-11-28 10 views
1

コンポーネントテンプレートのURLのルートを設定する方法があるため、使用可能な設定オブジェクトがiifレベルで必要になります。Angular 1.xコンポーネントのURLルートの処理方法は?

(function() { 
    var app = angular.module('myApp'); 
    app.component('myDashboard', { 
     // templateUrl: HOW_TO_GET_ROOT_HERE + '/path/to/template.html' 
     templateUrl: '/path/to/template.html' 
    }); 
})(); 

これまでのところ、私はこれが可能で見つかった唯一の方法は、モジュールオブジェクトは、いくつかのカスタムプロパティを追加することです - しかし、それは本当にそうすることが嫌な感じ。

// define 
var app = angular.module('myApp', []); 
app._config = {root: 'http://my.cdn.js'} 
//... 
// use 
var app = angular.module('myApp'); 
app.component('myDashboard', { 
    templateUrl: app._config.root + '/path/to/template.html' 
} 

これを行うには他の方法がありますか?

答えて

1

角度アプリケーションモジュール内に新しい定数を宣言します。次にtemplateUrl内のその共通の構成を使用してtemplateUrlを形成する機能を使用します。今すぐtemplateUrl機能は、注射剤を持つことができます。

app.constant('config', { rootPath: 'http://my.cdn.js'}); 

コンポーネント

app.component('myDashboard', { 
    templateUrl: function(config){ 
    return config.rootPath + '/path/to/template.html' 
    } 
} 
+0

はい、明らかに一つもサービスをこのように注入することができる - PARAM依存コンポーネントプロップ値を返すと機能を有します。 – Michael

関連する問題