ngPatternディレクティブを使用している場合、ngModelは未定義です。 ngPatternを削除すると、ngModelは期待どおりに動作します。 plnkrを参照してください。ngModelディレクティブを使用する場合は未定義 - Angularjsコントローラ
テキストボックスに値を入力するときにvm.conditionが表示されないが、ngPatternが削除されるとvm.conditionが期待通りに表示されることに注意してください。
HTML
<body ng-controller="MainCtrl as vm">
<div ng-form="vm.frmTest">
<input id="txtHealth" name="txtHealth" type="text" ng-model="vm.condition" ng-pattern="/^(.+)$/g">
<div class="help-block" ng-messages="vm.frmTest.txtHealth.$error" ng-show="vm.frmTest.txtHealth.$invalid">
<p ng-message="pattern">Error.</p>
</div>
</div>
<span>{{vm.condition}}</span>
</body>
JS
app.controller('MainCtrl', function($scope) {
this.condition = '';
});
注:これは、問題を示すダウン易しく書き直さバージョンです。私の指示は同じ問題を示しています。
この場合、「パターン」のみを使用してください。 – Icycool
私の答えはあなたの必要性を助けますか? –