I have a controller responsible for communicating with an API to update properties of a user, name, email, etc. Each user has an 'id'
which is passed from the server when the profile page is viewed.
I would like to pass this value to the AngularJS controller so it knows what the API entry point is for the current user. I've tried passing the value in ng-controller
. For example:
function UserCtrl(id, $scope, $filter) {
$scope.connection = $resource('api.com/user/' + id)
and in the HTML
<body ng-controller="UserCtrl({% id %})">
where {% id %}
print the id sent from the server. but I get errors.
What is the correct way to pass a value into a controller on its creation?
Best Answer
Notes:
This answer is old. This is just a proof of concept on how the desired outcome can be achieved. However, it may not be the best solution as per some comments below. I don't have any documentation to support or reject the following approach. Please refer to some of the comments below for further discussion on this topic.
Original Answer:
I answered this to Yes you absolutely can do so using
ng-init
and a simple init function.Here is the example of it on plunker
HTML
JavaScript