Javascript AngularJS-为价值增加价值

Javascript AngularJS-为价值增加价值,javascript,angularjs,addition,Javascript,Angularjs,Addition,是否可以将整数添加到范围变量 e、 g 。。。。 如果top是140,它应该给我“280px”,而不是“140px” 这可能吗?我不认为这是最好的方法,但你可以试试: <div style="top:{{top * 1 + 140}}px">....</div> 。。。。 强制top变为整数。关于您对@Mathew Berg的回复: 您遇到这个问题的原因是因为您告诉Angular“top”是字符串文字。虽然Mathew的方法能够将值解释为整数,但它基本上仍然是一

是否可以将整数添加到范围变量

e、 g

。。。。
如果top是140,它应该给我“280px”,而不是“140px”


这可能吗?

我不认为这是最好的方法,但你可以试试:

<div style="top:{{top * 1 + 140}}px">....</div>  
。。。。

强制top变为整数。

关于您对@Mathew Berg的回复:

您遇到这个问题的原因是因为您告诉Angular“top”是字符串文字。虽然Mathew的方法能够将值解释为整数,但它基本上仍然是一种变通方法@blesh说您应该在控制器级别执行此操作是完全正确的。所以

这个

function myContoller($scope) {
    $scope.top = '1';
}
<div style="top:{{top + 140}}px"></div>
<!-- Output = <div style="top:1140px"></div> -->
function myContoller($scope) {
    $scope.top = 'one';
}
<div style="top:{{top + 140}}px"></div>
<!-- Output = <div style="top:one140px"></div> -->
功能myContoller($scope){
$scope.top='1';
}
而这

function myContoller($scope) {
    $scope.top = '1';
}
<div style="top:{{top + 140}}px"></div>
<!-- Output = <div style="top:1140px"></div> -->
function myContoller($scope) {
    $scope.top = 'one';
}
<div style="top:{{top + 140}}px"></div>
<!-- Output = <div style="top:one140px"></div> -->
功能myContoller($scope){
$scope.top='one';
}
的处理方式相同。

function myContoller($scope) {
    $scope.top = '1';
}
<div style="top:{{top + 140}}px"></div>
<!-- Output = <div style="top:1140px"></div> -->
function myContoller($scope) {
    $scope.top = 'one';
}
<div style="top:{{top + 140}}px"></div>
<!-- Output = <div style="top:one140px"></div> -->
基本上,您是无意地连接而不是预期的算术

反过来,这种治疗方法非常简单。你所需要做的就是从你传递的整数中去掉括号,然后Angular会说“嘿,这是一个数字,让我们做一些数学运算”

eg
函数myController($scope){
$scope.top=140;
}

您声明“Top在$scope.dealer中,我使用的是ng repeat=“d in dealer”。因此正确地说,它应该是d.Top”,因此您可能需要对此进行一些调整以访问适当的范围,但解决方案仍然适用。Angular令人敬畏的一点是,它可以在其标记语法中固有地处理表达式。希望这将有助于解释导致问题的原因,因为Angular确实按照您希望的方式工作

jQuery是可接受的替代方案吗?
top
是否定义在某个地方?top在$scope.dealer中,我使用的是ng repeat=“d in dealer”。所以正确的答案是d.top。如果top是140,你会得到“280px”。顶部必须是字符串:“140”。top应该是字符串吗?+1这会起作用,但在大多数情况下,最好在控制器级别确保该值为整数。控制器的工作是减轻这种情况,而不是视图的影响。是的,它起了作用。控制器发送一个整数,我该怎么做?@Marek123请看下面我的答案。你能发一段代码吗?我想看看你是如何在你的范围内创建顶部的。