就我而言,我有一个从 attr 读取值的指令。
例如:
<span my-id="{{model.id}}"></span>
<span my-id="1234567890"></span>
<span my-id="0000000000"></span>
在此指令中,我$watch
此属性:
$scope.$watch(
function(){
return $parse($attrs.myId)($scope);
},
function(val){
...
}
)
问题是,在“0000000000”的情况下 - 传递给函数的 val
是数字 0。因此,有一个输入字符串 - '0000000000'
和在$parse
中输出0
。有什么办法可以绕过这个吗?我使用 $parse
函数的主要原因是 id 的来源不同。它可以是插值或纯字符串。
谢谢。
最佳答案
您不能在随机基础上使用插值或仅使用纯字符串。
您可以为插值定义一个属性,为纯字符串定义另一个属性,例如:
my-id
用于纯字符串,dyn-id
用于插值 -那些。或者只是传递将被插值的字符串:
<span my-id="'0000000000'"></span>
关于javascript - AngularJS:$parse 将数字字符串转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42901424/