0

在iOS和Android上,以下代码未能预先填写由startOfYear()返回的文本的date标记。忽略日期标记中值属性的初始化

<input type="date" value="{{startOfYear()}}"> 

出于某种原因上面,和其他一切我试过了,工作正常的桌面浏览器,但是移动的人总是刚刚出现散尽,空投入。

这不是一个变量,我不需要它watch d或更新或有input更新,所以尽管我认为它会起作用,但仅仅为此引入model太多了。

回答

0

我真的找不到任何东西,所以我在这里为你们回答我自己的问题。

原来的移动浏览器是拘泥于setting attributes and using properties之间的差额后,我认识到DOM中input标签存在的角度得到它的手中之前,我终于实现了(所以默认已被设置为,从字面上看, "{{startOfYear()}}")。

<input type="date" ng-property="{value:startOfYear()}"> 

解决方案只是为每当我需要它展示相同问题的不相关表单的道路上引入新指令。

.directive('ngProperty', function($parse) { 
    return { 
     restrict: 'A', 
     replace: false, 
     link: function (scope, element, attrs) { 
      $.each($parse(attrs.ngProperty)(scope), function(prop, value) { 
       element.prop(prop, value); 
      }); 
     } 
    }; 
})