求大佬解答一个关于渲染页面的问题

今天遇到了一个bug,虽然解决了,但是很想知道原因是什么。想在这里请教一个大佬们。我自己写了一个组件。首先我们来看代码,然后进行解释与问题叙述

<div id="d-wrp__${modalVar}" class="blureffect-dialog linkageselect-modal-wrp d-hide">
    <div class="dialog-mask"></div>
    <div class="linkage-modal">
        <div class="modal--header cityselect-header">
            <div class="left" ng-click="modalhide()">
                取消
            </div>
            <div class="center" ng-bind="selectName || '选择地区'"></div>
            <div class="right" ng-class="cancl?'ctc':'ct'" ng-click="setvalueclick()">
                确定
            </div>
        </div>
        <div class="modal-groupbtn">
            <a class="modal-defaultbtn" ng-class="{active: isselected ==='0'}"
                ng-click="isselected='0';openselect()" style="padding-bottom: 10px;width: 80px;
                overflow: hidden;
                text-overflow: ellipsis;
                display: inline-block;
                white-space: nowrap;"
                >
                {
    
    {
    
    province['NODEDESC'] || province['value'] || '请选择'}}
                <div style="border-bottom: solid 3px #3B95F6;
                width: 20px;position: absolute;
                left: 43px;
                margin-top: 21px;" ng-show="isselected ==='0'">  </div>

                </a>
            <a ng-show="province" class="modal-defaultbtn" ng-class="{active: isselected ==='1'}"
                ng-click="isselected='1';openselect()" style="padding-bottom: 10px;width: 80px;
                overflow: hidden;
                text-overflow: ellipsis;
                display: inline-block;
                white-space: nowrap;"
                >
                {
    
    {
    
    city['NODEDESC'] || city['value'] || '请选择'}}
                <div style="border-bottom: solid 3px #3B95F6;
                width: 20px;position: absolute;
                left: 141px;
                margin-top: 21px;" ng-show="isselected ==='1'">  </div>
                </a>
                
            <a ng-show="city" class="modal-defaultbtn" ng-class="{active: isselected ==='2'}"
                ng-click="isselected='2';openselect()" style="padding-bottom: 10px;width: 80px;
                overflow: hidden;
                text-overflow: ellipsis;
                display: inline-block;
                white-space: nowrap;"
                >
                {
    
    {
    
    county['NODEDESC'] || county['value'] || '请选择'}}
                <div style="border-bottom: solid 3px #3B95F6;
                width: 20px;position: absolute;
                left: 240px;
                margin-top: 21px;" ng-show="isselected ==='2'">  </div>
                </a>
    
        </div>
        <div class="modal--body s">
            <div class="modal--content">
                <div class="modal-select"
                        ng-repeat="a in formdata track by $index"
                        ng-click="setvalue(a)">{
    
    {
    
    a['NODEDESC']||a['value']}}</div>
            </div>
        </div>
    </div>
</div>

页面是这样
在这里插入图片描述
省市区3级分类,选择完省选择市然后在选择区,每次选择从新请求数据,所有的数据都是修改这个formdata但是如果是直辖市的话比如北京市东城区,省的时候选择北京市,然后请求返回一个json第一是东城区作为市级,然后点击东城区,去请求县,由于它是直辖市,只会返回东城区,这时候两次的两次的formdata第一项都相同,但是最后由于县的时候只会返回一个数据,在ios端页面并不更新,但是在安卓端就更新,这是ios什么机制导致的呢?
是因为ios在渲染的时候看他的html和text并未改变而导致他这个页面并不进行重新渲染么?
问了一个大佬说是AST的原因,但是不是特别明白。

猜你喜欢

转载自blog.csdn.net/lbchenxy/article/details/103821033