json2031 json2031 - 1 year ago 106
AngularJS Question

How can I pass url params to templateUrl

I am using angular ui-router to retrieve a page, but on the documentation, it only shows how to pass in parameters in the url, not the template url.

Is there anyway where it can be passed in the templateUrl?

Below is my code

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


And the angular config:

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

Answer Source

templateUrl can be a function that takes stateParams parameter:

.state('contacts', {
    url: "/states?myParam={contactId}",
    templateUrl: function(stateParams) {
        return "states" + stateParams.contactId + ".html";
    }
})
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download