gpt4 book ai didi

angularjs - 在 AngularJs 模型中声明计算字段的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-03 08:25:55 24 4
gpt4 key购买 nike

我应该如何在 AngularJs 模型中声明计算字段?如果我这样做:

 $scope.model = {
id: null,
calculatedField: function() {
return 1+2;
}
};

然后像这样将整个对象发送到网络服务器:

$http.post(url, $scope.model)...

它始终为 calculatedField 字段值发送 null。在将对象序列化为 Json 时,它似乎需要属性,而不是函数。

更新:我希望每次在 Json 中序列化模型时自动调用 calculatedField()

最佳答案

如果 calculatedField 应该表现得像一个值,那么只需将其设为 getter :

$scope.model = {
id: null,
get calculatedField() {
return 1+2;
}
};

您可以像使用常规值属性一样使用它,但不能为其赋值。当然,它也会正确序列化。

var x = $scope.model.calculatedField; // x = 3

$scope.model.calculatedField = 4; //doesn't change calculatedField

JSON.stringify($scope.model); // "{"id":null,"calculatedField":3}"

Getter 是常规的 JavaScript 顺便说一句。

关于angularjs - 在 AngularJs 模型中声明计算字段的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29177112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com