Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
113
rated 0 times [  117] [ 4]  / answers: 1 / hits: 95628  / 12 Years ago, mon, october 22, 2012, 12:00:00

Hi there I was watching a couple of the angular.js videos and saw that the value() method was used to set a kind of module-wide constant. for example, one can set the Angular-UI library's config like so: (coffeescript)



angular.module('app',[])
.value ui.config,
tinymce:
theme: 'simple'
width: '500'
height: '300'


And my app is currently looking like this:



window.app = angular.module(app, [ 'ui'])

.config([$routeProvider, ($routeProvider) ->
$routeProvider
.when /users,
templateUrl: assets/templates/users/index.html
controller: IndexUsersCtrl

.otherwise redirectTo: /users

])

.value 'csrf', $('meta[name=csrf-token]').attr('content') #<---- attention here

IndexUsersCtrl = ($scope) ->
$scope.users = gon.rabl
console.log I want to log the csrf value here #<---- then attention
IndexUsersCtrl.$inject = ['$scope']


But I can't seem to get that value by tapping into the 'app' variable which is corresponding to the app module.



I read up here on ST and over on angularjs's google group that one way to share common code btwn controllers is through a service, will this concept apply here, too?



Thanks!


More From » angularjs

 Answers
0

Module.value(key, value) is used to inject an editable value,
Module.constant(key, value) is used to inject a constant value



The difference between the two isn't so much that you can't edit a constant, it's more that you can't intercept a constant with $provide and inject something else.



// define a value
app.value('myThing', 'weee');

// define a constant
app.constant('myConst', 'blah');

// use it in a service
app.factory('myService', ['myThing', 'myConst', function(myThing, myConst){
return {
whatsMyThing: function() {
return myThing; //weee
},
getMyConst: function () {
return myConst; //blah
}
};
}]);

// use it in a controller
app.controller('someController', ['$scope', 'myThing', 'myConst',
function($scope, myThing, myConst) {
$scope.foo = myThing; //weee
$scope.bar = myConst; //blah
});

[#82417] Sunday, October 21, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
trayvon

Total Points: 35
Total Questions: 117
Total Answers: 88

Location: Guernsey
Member since Tue, Jul 6, 2021
3 Years ago
;