Javascript 为什么使用表达式的变量上的parseInt不显示$scope变量?

Javascript 为什么使用表达式的变量上的parseInt不显示$scope变量?,javascript,html,angularjs,scope,Javascript,Html,Angularjs,Scope,这是我的密码 工作代码 var-app=angular.module(“app”,[]); app.controller(“ListCtrl”、[“$scope”, 职能($范围){ $scope.value='20'; } ]); {{value}} 根据文件 Angular不使用JavaScript的eval()来计算表达式。相反,Angular的$parse服务处理这些表达式 有关为什么不显示的问题,请选中此选项 如果插值不是字符串,则按如下方式计算: 未定义的和null被转换为“

这是我的密码

工作代码

var-app=angular.module(“app”,[]);
app.controller(“ListCtrl”、[“$scope”,
职能($范围){
$scope.value='20';
}
]);

{{value}}
根据文件

Angular不使用JavaScript的eval()来计算表达式。相反,Angular的$parse服务处理这些表达式

有关为什么不显示的问题,请选中此选项

如果插值不是字符串,则按如下方式计算:

未定义的和null被转换为“”

由于内插中的ParseInt不可用,因此它是未定义的,显示的值也是未定义的

您必须在控制器$scope中创建自己的函数

var-app=angular.module(“app”,[]);
app.controller(“ListCtrl”、[“$scope”、函数($scope){
$scope.value='20';
$scope.parseInt=函数(值)
{
返回parseInt(值);
}
}
]);

{{parseInt(value)}}

您必须解析控制器中的值,因为angular无法
将int
解析为角度表达式:

另一方面,如果您真的想在DOM中实现这一点,最好的选择之一是使用角度过滤器,如:

var-app=angular.module(“app”,[]);
app.filter('parseInt',function(){
返回函数(值){
返回parseInt(值);
};
});
app.controller(“ListCtrl”、[“$scope”,
职能($范围){
$scope.value='20';
}
]);

{(值| parseInt)+44}