Angular.js:指令字段在Android 4.0.4+PhoneGap中消失

Angular.js:指令字段在Android 4.0.4+PhoneGap中消失,android,angularjs,cordova,angularjs-directive,Android,Angularjs,Cordova,Angularjs Directive,我是Angular.js的新手,我的PhoneGap应用程序的Android部署有一些问题。在index.HTML的HTML代码中,我有以下内容: <textfield data="mandantData" model="mandant"></textfield> <textfield data="nameData" model="name"></textfield> <passwordfield data="passwordData" mo

我是Angular.js的新手,我的PhoneGap应用程序的Android部署有一些问题。在index.HTML的HTML代码中,我有以下内容:

<textfield data="mandantData" model="mandant"></textfield>
<textfield data="nameData" model="name"></textfield>
<passwordfield data="passwordData" model="password"></passwordfield>
<checkboxfield data="checkboxData" model="remember"></checkboxfield>
这是我的textfield.html:

<div class="textField">
    <div class="label-wrapper">
        <label for="{{data.fieldName}}">{{data.labelText}}</label>
    </div>
    <div class="field-wrapper">
        <input type="text" id="{{data.fieldName}}"/ ng-model="model">
    </div>
</div>
当我将我的应用程序部署到Android并打开index.html页面时,它似乎表现得很好。然而,我一直有这种奇怪的行为:一旦我转到其他页面,然后回到index.html,表单字段首先消失!奇怪的是,它们似乎很快就会再次出现;我不确定它们是在我点击屏幕时出现,还是在几秒钟后自动出现。无论如何,这种行为是不可原谅的。这在iOS或Chrome for Windows中都不会发生

是否有一种方法可以在每次加载index.html文件时强制Angular刷新浏览器的UI?如果没有,是否有解决此问题的方法


为了获得额外的积分(尽管完全不相关),我是否可以去掉每个指令的model属性,并简单地将其放入数据数组中?我以前试过这样做,但似乎不起作用。

以下内容非常脏,但有效:

$timeout(function() {
    $('#mandant').focus();
    $('#mandant').blur();
}, 10);
点击没有帮助,但是聚焦一个区域迫使Android重新绘制所有内容。模糊是可选的,但建议使用。超时不是可选的-至少在我的情况下不是这样-因为处理指令需要一些时间,所以$'mandant'不是立即可用的


哦,顺便说一下,我试图通过将代码上传到一个网站,在Android浏览器中重现这个问题,但效果很好。它仅在Cordova/PhoneGap中被打破。

从之前的评论中快速回顾:-我不使用ng路线;我只是将用户重定向到其他HTML文件。-指令在任何AJAX活动发生之前加载。-我在运行安卓4.2的手机上试过这个,它似乎工作得很好。Android 4.0平板电脑只有在我轻触屏幕一两次后才会显示字段。-我试着每50毫秒调用jQuery对几个元素的点击,但也不起作用。
$timeout(function() {
    $('#mandant').focus();
    $('#mandant').blur();
}, 10);