我正在jsfiddle上编写一个基本的计算器应用程序,以获得更多角度的经验,我想知道注入的服务是否可以像对象一样使用来获取属性。例如:
angular.module('CalcApp', [])
.controller('CalcVm', CalcVm)
.service('MathOperations', MathOperations);
angular.$inject = ['MathOperations'];
function CalcVm(MathOperations) {
var vm = this;
vm.xyz = '';
//code
}
function MathOperations() {
var addOp = '+';
var subtractOp = '-';
//etc..
}
是否可以在视图中执行此操作:
<div ng-controller='CalcVm as calcVm'>
<button>{{calcVm.MathOperations.addOp}}</button>
</div>
我应该将服务绑定到控制器中的变量吗?
function CalcVm(MathOperations) {
var vm = this;
vm.xyz = '';
vm.MathOperations = MathOperations;
//code
}
答案 0 :(得分:0)
好的,所以我一直在尝试这个,我已经弄清楚了。
以下是有效的:
angular.module('CalcApp', [])
.controller('CalcVm', CalcVm)
.service('MathOperations', MathOperations);
angular.$inject = ['MathOperations'];
function CalcVm(MathOperations) {
var vm = this;
vm.MathOperations = MathOperations;
//more code
}
function MathOperations() {
this.addOp = '+';
this.subtractOp = '-';
//etc..
}
请注意我在服务中使用了关键字this
,并且已将注入的服务分配给控制器中的变量。
我不确定这是好事还是坏事,如果有人知道,请在行下方编辑此答案并提供更多信息。