如何传递url参数到templateUrl

问题描述:

我正在使用角ui-router来检索一个页面,但在文档中,它只显示如何传递url中的参数,而不是模板url。如何传递url参数到templateUrl

无论如何它可以在templateUrl中传递?

下面是我的代码

<div ui-view></div> 
<!-- We'll also add some navigation: --> 
<a ui-sref="contacts({contactId: 1})">State 1</a> 

和角配置:

myApp.config(function($stateProvider) { 
    $stateProvider 
     .state('contacts', { 
      url: "/states?myParam={contactId}", 
      templateUrl: "states1.html" 
     }); 
}); 

templateUrl可以是一个函数,它stateParams参数:

.state('contacts', { 
    url: "/states?myParam={contactId}", 
    templateUrl: function(stateParams) { 
     return "states" + stateParams.contactId + ".html"; 
    } 
}) 

为什么你会要吗?

我可以考虑的唯一原因是你想根据传递的参数在服务器端定制模板。这与模板的想法相反:)

模板应该足够通用。

+0

这应该是一个评论,而不是一个答案。 –