2017-08-16 68 views
0

推薦的方式(內置角度方式)以角度$ http替換url參數是什麼? 例如,如何使下面的代碼工作?自動替換角度中的URL冒號參數

$http.get(Url.parametersIt('/api/:arg1/:arg2', {arg1: 'val1', arg2: 'val2'}));
我想要的 Url.parametersIt('/api/:arg1/:arg2', {arg1: 'val1', arg2: 'val2'}) 的結果是 /api/val1/val2

非常感謝!

更多關於我的想法。我希望有一種內置的角度來做到這一點,所以我不需要引用額外的代碼或框架。

我要的是一個客戶端等效的方式做服務器端相同,例如,在節點KOA JS:

var Router = require('koa-router'); 
 

 
Router.url('/path/:arg1/:arg2',{ 
 
    arg1: 'val1', 
 
    arg2: 'val2' 
 
}); 
 

 
// get /path/val1/val2

+0

爲什麼你不使用'模板文字'? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals –

+0

@ ADreNaLiNe-DJ那麼他可能需要使用transpiler? – Rahul

+0

@RahulNaik他可以使用polyfill。 –

回答

1

現在我沒發現優雅的角度方式,這是相當失望。所以我不得不在自己的項目中實施一個粗略的。我希望我可以刪除一些日子,一旦我找到優雅的角度方式

function url(urlTemplate, args) { 
     return urlTemplate.replace(/:[^\/]+/g, function (m, capturedGroup) { 
      return args[capturedGroup]; 
     }); 
    } 

用法: url('/api/:arg1/:arg2', {arg1: 'val1', arg2: 'val2'});

得到"/api/val1/val2"