Angularjs ng -sessages在有效输入 /缩小捆绑后不隐藏



我有一个奇怪的问题。我们所有带有ng-messages的MD输入包容器在被缩小/捆绑和发布后都被卡住了。

现在它可以使用前几次,但是如果您在错误上删除错误,请返回并输入其卡住的正确数据。

我们正在使用此Bundler/Minifier。https://github.com/madskristensen/bundlerminifier

我们尝试了AngularJS 1.6.3和1.7.7,但得到相同的结果。

我读了这篇文章。https://github.com/angular/material/issues/2781并可以验证我们将ngMessages注入我们的应用程序,并将angular-messages.js加载到index.html页面中。

通过一些测试,我可以看到signInForm.accessKey.$error对象正在更改(require = true添加并删除)。但是ng-message元素没有随着这些更改而更新。就像观察者停止了一样。我可以添加ng-hide="signInForm.accessSecret.$error.required === undefined"来隐藏消息,但不需要。

当运行未经许可和解开时,我还会提到这一切正常。我在GitHub中也有一个问题,也为此。

有什么想法吗?

<form name="signInForm" ng-submit="vm.signIn()" style="width: 100%;">
	<md-input-container class="md-block">
		<label>Email address</label>
		<input name="accessKey" ng-model="vm.accessKey" type="email" required>
		<ng-messages for="signInForm.accessKey.$error" role="alert">
			<ng-message when="required">Email address is required.</ng-message>
		</ng-messages>
	</md-input-container>
	<md-input-container class="md-block">
		<label>Password</label>
		<input name="accessSecret" ng-model="vm.accessSecret" type="password" required>
		<ng-messages for="signInForm.accessSecret.$error" role="alert">
			<ng-message when="required">Password is required.</ng-message>
		</ng-messages>
	</md-input-container>
	<div layout="column" layout-align="start end">
		<md-button class="md-button ws-margin-0" ng-disabled="vm.$ws.isInCallback()" aria-label="Forgot password" ng-click="vm.forgotPassword()" style="text-transform: none !important; position: relative; top: -40px;">Forgot password?</md-button>
	</div>
	<div layout="column" layout-align="center center">
		<md-button type="submit" id="signInButton" class="md-button md-raised" ng-disabled="vm.signInForm.$invalid || vm.$ws.isInCallback()" aria-label="sign in" style="width: 100%; text-transform: none !important;">Sign in</md-button>
	</div>
</form>

找到了问题。

删除了捆绑器/微型JSON的所有内容并慢慢地添加组件,我发现了一个造成问题的多纤维器。Polyfiller正在为Object.prototype添加一个函数,删除此功能解决了问题。

最新更新