如何将url params传递给templateUrl

时间:2016-08-04 19:22:10

标签: angularjs angular-ui-router

我使用angular ui-router来检索页面,但在文档中,它只显示了如何在url中传入参数,而不是模板url。

无论如何它可以在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"
        });
});

2 个答案:

答案 0 :(得分:1)

templateUrl可以是一个带stateParams参数的函数:

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

答案 1 :(得分:0)

你为什么要这样?

我能想到的唯一原因是你想根据传递的参数在服务器端自定义模板。这违背了模板的想法:)

模板应该足够通用。