$rootScope 変数があります。
$rootScope.register_data = {};
フォームを含むビューがあります:
<form name="register_data">
<div class="popup signup">
<div class="social">
<a ng-controller="FacebookCtrl" ng-click="login()" href="javascript:void(0)" class="facebook fb-login-button">Sign up with Facebook</a>
<div class="clear"></div>
</div>
<div class="userinfo">
<div class="left"><input type="text" ng-model="register_data.firstname" placeholder="First Name" tabindex="1" required></div>
<div class="right"><input type="text" ng-model="register_data.email" placeholder="Email Address" tabindex="4" required></div>
<div class="left"><input type="text" ng-model="register_data.lastname" placeholder="Last Name" tabindex="2" required></div>
<div class="right optional"><div class="tip">optional</div><input type="text" ng-model="register_data.dob" tabindex="5" placeholder="DoB (dd/mm/yyyy)"></div>
<div class="left"><input type="text" ng-model="register_data.phone" placeholder="Phone Number" tabindex="3" required></div>
<div class="right password"><a href="javascript:void(0)" class="picker"> </a><input type="password" ng-model="register_data.password" placeholder="Password" tabindex="6" required></div>
<div class="clear"></div>
</div>
<div class="control">
<span class="terms">I agree to the <a href="javascript:void(0)">terms & conditions</a></span>
<a href="javascript:void(0)" id="terms_checkbox" class="checkbox" ng-class="{checked : terms_checked}" ng-click="changeTerms()"> </a>
<a href="javascript:void(0)" class="button" id="register_btn" ng-click="doRegister(register_data)">Sign up</a>
</div>
</div>
</form>
フォームには名前がregister_data
あり、各フィールドは ng-model を介してそれにバインドされています。$rootScope.register_data
フォームコントロールが更新されないことを更新すると、変数が上書きされるようです。フォーム名を削除しても機能します。ただし、適切なフォーム検証を行うにはフォーム名が必要です。
フォームコントロールをスコープオブジェクトにバインドするだけでなく、フォームの検証を維持する方法を知っている人はいますか?