AngularJS 1.5-与上述地址相同

AngularJS 1.5-与上述地址相同,angularjs,Angularjs,我想实现一个“同上”的邮寄地址和永久地址。但是我在复选框上打勾,它并不表示邮寄地址和永久地址是相同的。帮忙 控制器 $scope.candidateData.MailingAddress = {}; $scope.$watch('mailingSameAsPermanent', function (value) { if (value) { $scope.candidateData.Address = $scope.candidateData.MailingAddres

我想实现一个“同上”的邮寄地址和永久地址。但是我在复选框上打勾,它并不表示邮寄地址和永久地址是相同的。帮忙

控制器

$scope.candidateData.MailingAddress = {};

$scope.$watch('mailingSameAsPermanent', function (value) {
    if (value) {
        $scope.candidateData.Address = $scope.candidateData.MailingAddress;
    } else {
        $scope.candidateData.Address = angular.copy($scope.candidateData.Address);
    }
部分HTML:

<h3>Permanent Address</h3>
                    <md-input-container class="md-block">
                        <label>Address</label>
                        <input name="add" ng-model="candidateData.Address.Address1">
                        <div ng-messages="CandidateDetails.add.$error">
                            <div ng-message="required">
                                Please enter your address
                            </div>
                        </div>
                    </md-input-container>

                    <md-input-container md-no-float class="md-block">
                        <input ng-model="candidateData.Address.Address2" placeholder="Address 2">
                    </md-input-container>

                    <div layout-gt-sm="row">


                        <md-input-container class="md-block" flex-gt-sm>
                            <label>Country</label>
                            <md-select ng-model="candidateData.Address.Country">
                                <md-option> <!--ng-repeat="country in countries" value="{{country.Country}}"-->>
                                    {{candidateData.Address.Country}}
                                </md-option>
                            </md-select>
                        </md-input-container>


                        <md-input-container class="md-block" flex-gt-sm>
                            <label>Zip Code</label>
                            <input name="postalCode" ng-model="candidateData.Address.Zip" placeholder="12345"
                                   required ng-pattern="/^[0-9]{5}$/">
                            <div ng-messages="CandidateDetails.postalCode.$error" role="alert" multiple>
                                <div ng-message="required" class="my-message">You must supply a zip code.</div>
                                <div ng-message="pattern" class="my-message">
                                    That doesn't look like a valid postal
                                    code.
                                </div>

                            </div>
                    </div>
                    <h3>Mailing Address</h3>

                    <md-checkbox ng-model="mailingSameAsPermanent" >
                        Tick if your mailing address is the same as your permanent address
                    </md-checkbox>
                    <div>
                        <md-input-container class="md-block">
                            <label>Address</label>
                            <input name="add" ng-model="candidateData.MailingAddress.Address1" ng-disabled="mailingSameAsPermanent">
                            <div ng-messages="CandidateDetails.add.$error">
                                <div ng-message="required">
                                    Please enter your address
                                </div>
                            </div>
                        </md-input-container>

                        <md-input-container md-no-float class="md-block">
                            <input ng-model="candidateData.MailingAddress.Address2" placeholder="Address 2" ng-disabled="mailingSameAsPermanent">
                        </md-input-container>

                        <div layout-gt-sm="row">


                            <md-input-container class="md-block" flex-gt-sm>
                                <label>Country</label>
                                <md-select ng-model="candidateData.Address.Country">
                                    <md-option>
                                        <!--ng-repeat="country in countries" value="{{country.Country}}"-->>
                                        {{candidateData.Address.Country}}
                                    </md-option>
                                </md-select>
                            </md-input-container>


                            <md-input-container class="md-block" flex-gt-sm>
                                <label>Zip Code</label>
                                <input name="postalCode" ng-model="candidateData.Address.Zip" placeholder="12345"
                                       required ng-pattern="/^[0-9]{5}$/">
                                <div ng-messages="CandidateDetails.postalCode.$error" role="alert" multiple>
                                    <div ng-message="required" class="my-message">You must supply a zip code.</div>
                                    <div ng-message="pattern" class="my-message">
                                        That doesn't look like a valid postal
                                        code.
                                    </div>

                                </div>
                        </div>
                    </div>
永久地址
地址
请输入您的地址
国家
>
{{candidateData.Address.Country}
邮政编码
您必须提供邮政编码。
这看起来不像是一个有效的邮政编码
代码。
通讯地址
如果您的邮寄地址与永久地址相同,请勾选
地址
请输入您的地址
国家
>
{{candidateData.Address.Country}
邮政编码
您必须提供邮政编码。
这看起来不像是一个有效的邮政编码
代码。

我以您想要的方式实现了功能,但方法不同

您可以查看下面的链接以了解

您需要在代码中实现这一点。

试试这个

<input type="checkbox" ng-model="sameas" ng-click="!sameas?permanentAddress=presentAddress:permanentAddress={}" />


$scope.candidateData.Address=angular.copy($scope.candidateData.Address)将其自身的值复制到自身,$scope.candidateData.Address将包含要复制到$scope.candidateData.MailingAddress的值。您正在进行反向赋值。所以我应该将candidateData.MailingAddress与candidateData.Address进行反向赋值?我试过了,但没用。你能用棱角材料做吗?没用。角度版本是1.0.3,而我使用的是1.5
<input type="checkbox" ng-model="sameas" ng-click="!sameas?permanentAddress=presentAddress:permanentAddress={}" />