在应用程序中,某些对象具有图标。在PHP中我会打电话给
class Icons {
const OBJECT_A_ICON = 'fa-icona';
const OBJECT_B_ICON = 'fa-iconb';
const OBJECT_C_ICON = 'fa-iconc';
}
echo Icons::OBJECT_C_ICON;
以角度方式执行此操作的最佳方法是什么?
答案 0 :(得分:3)
angular.constant
https://docs.angularjs.org/api/auto/service/ $提供#恒定
看起来像是:
angular.module('app', [])
.constant('OBJECT_A_ICON', 'fa-icona');
或者你可以将它们全部放在一个对象中。
答案 1 :(得分:2)
使用服务:
angular.module('myApp').factory('icons', function(){
return {
icon_1: '',
icon_2: ''
};
})
.controller('myController', function(icons) {
console.log(icons.icon_1);
});
答案 2 :(得分:1)
使用constant
服务。
<强> Constant Docs 强>
angular.module('app', [])
.constant('ICON_CONSTANT', {
Icon_A: 'fa-icona',
Icon_B: 'fb-iconb',
Icon_C: 'fc-iconc'
})
.controller('cntrl', function($scope, ICON_CONSTANT) {
$scope.icon = ICON_CONSTANT.Icon_A;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app">
<div ng-controller="cntrl">
{{ icon }}
</div>
</div>
答案 3 :(得分:0)
听起来你正在寻找常量或不可变对象。常规javascript或angular中没有不可变对象,因此您可能希望使用标准的$ scope变量。 MK的答案非常可靠。这很有意思:https://facebook.github.io/immutable-js/