AngularJS:$ parse将数字字符串转换为数字

时间:2017-03-20 10:39:01

标签: javascript angularjs angularjs-directive

就我而言,我有一个从attr读取值的指令。

例如:

<span my-id="{{model.id}}"></span>
<span my-id="1234567890"></span>
<span my-id="0000000000"></span>

在这个指令中我$watch这个attr:

$scope.$watch(
    function(){
        return $parse($attrs.myId)($scope);
    },
    function(val){
        ...
    }
)

问题是,在&00; 0000000000&#39; - 传递给函数的val为数字0.因此,'0000000000'中有一个输入字符串 - 0和输出$parse。有没有办法绕过这个?我使用$parse函数的主要原因是不同的id来源。它可以是插值或普通字符串。

THX。

1 个答案:

答案 0 :(得分:1)

你不能在随机基础上使用插值或只是普通字符串。

  • 您可以为插值定义一个属性,为普通字符串定义另一个属性,例如:my-id表示普通字符串,dyn-id表示插值字符串。

  • 或者只是传递将被插值的字符串:

    <span my-id="'0000000000'"></span>