我有这个对象:
function Boy(n,s,a)
{
this.name = n;
this.surname = s;
this.age = a;
this.getInfo = function(){
return this.name + ' ' + this.surname + ' (' + this.age + ')';
}
}
我想做这样的事情:
{{ boy.getInfo() }}
而不是这样:
{{ boy.name }} {{ boy.surname }} ({{boy.age}})
可能吗?
有一些类似的技巧吗?
最佳答案
绝对!您可以像创建其他对象一样创建一个对象并将其推送到$scope
中。
var NameController = function ($scope) {
$scope.boy = new Boy("Foo", "Bar", 32);
};
NameController.$inject = ['$scope'];
app.controller("NameController", NameController);
然后将其绑定(bind)在UI中,如下所示:
<h3>{{boy.getInfo()}}</h3>
这是绑定(bind)到所有三个属性并查看函数结果的示例:http://jsfiddle.net/jwcarroll/Pb3Cu/