在AngularJS中,存储应用程序每个页面所需信息的最佳方法是什么?
在我的情况下,我希望存储我的应用名称appTitle = "my app"
,并希望通过{{ appTitle }}
在我的应用的所有页面上访问它。
我尝试将var appTitle = "my app";
放入app.js,但这不起作用。
我是否需要为它提供服务并将其注入每个控制器,还是有更好的方法?
答案 0 :(得分:0)
您可以使用常量,但请确保您的值确实是一个常量,就像您的问题一样。
var myApp = angular.module('myApp', []);
myApp.constant('APP_TITLE', 'my app');
它可以注入您的应用程序模块,控制器,服务等。
myApp.controller('fooCtrl', ['$scope', 'APP_TITLE', function($scope, APP_TITLE) {
$scope.pageTitle = APP_TITLE;
}]);
您还可以根据$ provide使用值。要了解详情,请查看docs或this blog post
中的更多详细信息