zfloat指令for angular no work

时间:2014-09-17 16:04:20

标签: angularjs breeze

我使用breeze 1.5.0和angular 1.3.0 rc1我使用html表中的输入直接绑定到breeze实体到类型decimal?的属性,如下所示:< / p>

<table>
<thead>
    <tr>
        <th>Column1</th>
    </tr>
</thead>
<tbody>
    <tr ng-repeat="i in vm.items">
        <td ng-repeat="c in i.children">
            <div>
                <input ng-model="c.value" z-float />
            </div>
        </td>
    </tr>
</tbody>

但输入数字[0-9]后会忽略逗号和小数点。例如,我确实输入了值&#34; 9.99&#34;。

我试试这个,但它没有用。我确实输入了十进制值:

<input ng-model="vm.items[0].children[0].value" z-float />

我使用过&#34; Angular Float Directive&#34;更多信息here

2 个答案:

答案 0 :(得分:1)

Breeze没有错。他们在Angular.1.3.0中打破了它。现在我必须找到方法和原因。

FWIW,逗号从不工作。 JavaScript不支持&#39;,&#39;解析数字字符串时,它既不支持数字的国际化(例如,&#39;,&#39;表示小数点)。

2014年9月22日更新

发现他们打破了1.3格式的格式化程序的签名并且没有告诉任何人。参见https://github.com/angular/angular.js/issues/9218

我已将 breeze.angular.directives 更新为v.1.3.9,因此它现在应该适用于这两个版本。

请参阅更新的plunker:http://plnkr.co/edit/E2HgF7ASNWIdwsvzs5G0?p=preview,它改变了zFloat模型 - 值/元素 - 值比较

return (value === +viewValue) ? viewValue : value;

return (+viewValue === +modelValue) ? viewValue : modelValue;

答案 1 :(得分:0)

我不知道原因,但有些代码如何对我有用。我在本地文件中更改了zFloat指令。

return (+viewValue === +modelValue) ? viewValue : modelValue;

return (+viewValue === +modelValue) ? modelValue: viewValue;