Javascript 角度UI掩码格式化输出未定义

Javascript 角度UI掩码格式化输出未定义,javascript,angularjs,mask,Javascript,Angularjs,Mask,好的,我使用的是AngularUI掩码指令。我使用的过滤器是“99:99”小时的过滤器 我所做的是抓取输入框的ng模型,将其转换为字符串,在第二个位置添加“:”后循环字符串,然后返回格式化的字符串。但当我这样做时,从函数返回的结果在一定程度上是正确的 假设我在输入框中输入1212,通过使用ui掩码,它将在框中显示为12:12。当我调用函数时,它返回12:12未定义的。。。有人能帮我吗 这是我的密码: HTML: {{time}} {{转换(时间)}} JS文件: function MyCt

好的,我使用的是AngularUI掩码指令。我使用的过滤器是“99:99”小时的过滤器

我所做的是抓取输入框的ng模型,将其转换为字符串,在第二个位置添加“:”后循环字符串,然后返回格式化的字符串。但当我这样做时,从函数返回的结果在一定程度上是正确的

假设我在输入框中输入1212,通过使用ui掩码,它将在框中显示为12:12。当我调用函数时,它返回12:12未定义的。。。有人能帮我吗

这是我的密码: HTML:


{{time}}

{{转换(时间)}}
JS文件:

function MyCtrl($scope) {
    $scope.time = '';

    $scope.convert = function (input) {
        var str = input + '';
        var counter = 0;
        var newStr = '';

        while (counter <= str.length) {
            if (counter === 2) 
               newStr += ':';
            newStr += str[counter];
            counter++;
        }

    return newStr;
}
函数MyCtrl($scope){
$scope.time='';
$scope.convert=函数(输入){
var str=输入+“”;
var计数器=0;
var newStr='';

而(counter它的问题就在你的
convert
函数中。你可以用一个简单的for循环来简化它

此外,以下是我对相关代码所做的操作:

$scope.convert=函数(str){
如果(!str)返回;
变量计数器=0,
newStr='',
最大值=数学最小值(str.length,4);
对于(变量i=0;i
问题出在您的
convert
函数中。您可以使用一个简单的旧for循环来简化它

此外,以下是我对相关代码所做的操作:

$scope.convert=函数(str){
如果(!str)返回;
变量计数器=0,
newStr='',
最大值=数学最小值(str.length,4);
对于(变量i=0;i
没问题。你制定的指令很酷。祝你好运。没问题。你制定的指令很酷。祝你好运
function MyCtrl($scope) {
    $scope.time = '';

    $scope.convert = function (input) {
        var str = input + '';
        var counter = 0;
        var newStr = '';

        while (counter <= str.length) {
            if (counter === 2) 
               newStr += ':';
            newStr += str[counter];
            counter++;
        }

    return newStr;
}