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}