嗨,我在那里观看了几个angular.js视频,并看到value()方法用于设置一种模块范围的常量。例如,可以这样设置Angular- UI库的配置:(咖啡脚本)
angular.module('app',[]) .value "ui.config", tinymce: theme: 'simple' width: '500' height: '300'
我的应用目前看起来像这样:
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']
但是我似乎无法通过点击与app模块相对应的’app’变量来获取该值。
我在ST和angularjs的google组上都读到过,一种共享通用代码btwn控制器的方式是通过服务,这种概念在这里也适用吗?
谢谢!
Module.value(key, value)用于注入可编辑的值, Module.constant(key, value)用于注入常量
Module.value(key, value)
Module.constant(key, value)
两者之间的区别不在于您“无法编辑常量”,而在于您无法使用$ provide截取常量并注入其他内容。
// 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 });