AngularJS ng模式正则表达式在使用templateCache时不工作

AngularJS ng模式正则表达式在使用templateCache时不工作,angularjs,ng-pattern,Angularjs,Ng Pattern,我在下面的文本字段中使用ng模式进行验证,并使用ng消息显示消息。验证在正则表达式(/^\d+$/或/^[0-9]+$/)中都可以正常工作,但由于某些原因,正则表达式(/^\d+$/)在与模板缓存一起使用时,即使对于数字输入也返回false。我无法找出这两种方法之间的问题。请查找以下templateCaching输出。感谢您的帮助 输入type=“text”ng model=“appId”name=“appId”class=“new app”ng pattern=“/^\d+$/”占位符=“输入

我在下面的文本字段中使用ng模式进行验证,并使用ng消息显示消息。验证在正则表达式(/^\d+$/或/^[0-9]+$/)中都可以正常工作,但由于某些原因,正则表达式(/^\d+$/)在与模板缓存一起使用时,即使对于数字输入也返回false。我无法找出这两种方法之间的问题。请查找以下templateCaching输出。感谢您的帮助

输入type=“text”ng model=“appId”name=“appId”class=“new app”ng pattern=“/^\d+$/”占位符=“输入应用程序ID”是必需的

消息:

div ng message=“pattern”class=“错误消息”

不使用templateCaching:

输入type=“text”ng model=“appId”name=“appId”class=“new app”ng pattern=“/^\d+$/”占位符=“输入应用程序ID”是必需的

同时使用templateCaching和作为单独的视图文件:

输入type=“text”ng model=“appId”name=“appId”class=“new app”ng pattern=“/^[0-9]+$/”占位符=“输入应用程序ID”是必需的

$templateCache.put('/views/layouts/test.html',' ');


我对templateCache也有类似的问题,这是因为模式中有特殊字符,比如前斜杠,而我的validatioin失败了。转义它们修复了问题:因此,如果html文件中有
ng pattern=“/^\d+$/”
,那么它在templateCache语句中会变成
ng pattern=“/^\\d+$/”

是的,它在更新正则表达式后修复了问题。谢谢