찾다

 >  Q&A  >  본문

angular.js - angularjs不同标签页切换 ui-view,且不 刷新页面

html:

   <p class="nav">
        <p class="nav_container">
            <span ng-repeat="nav in navs" ui-sref-active="li_selected" ui-sref=".{{nav.url}}">
                {{nav.name}}
                <em ng-click="CloseNav(nav.value)"></em>
            </span>
        </p>
    </p>
    <p class="content clearFix" >
        <p ui-view="" ng-style="high" style="overflow:auto;"></p>
    </p>

如图所示,点击不同的标签,ui-view区域显示不同的页面。但是在切换页面的同时,会重新刷新页面,我在页面上的操作都会被刷新掉。我想实现大概如:

    <p ui-view="html1" ng-show="html1"></p>
    <p ui-view="html2" ng-show="html2"></p> 
    <p ui-view="html3" ng-show="html3"></p> 
    <p ui-view="html4" ng-show="html4"></p> 

通过不同的标签页来控制不同ui-view的显示,或隐藏,同时保留用户的操作,不用刷新页面。
刚学习angularjs,对ui-view使用不熟练,求大神解答我这思路是不是正确的,能实现的话给出详细的代码;不正确的话,有什么别的办法吗,也请给出详细的代码,谢谢了!!

怪我咯怪我咯2744일 전884

모든 응답(5)나는 대답할 것이다

  • 天蓬老师

    天蓬老师2017-05-15 17:00:20

    UI 보기를 설정하는 것만으로도 충분합니다. 다양한 상태에 대해 다양한 템플릿을 로드하기만 하면 됩니다

    회신하다
    0
  • PHPz

    PHPz2017-05-15 17:00:20

    이것은 ui-router와 관련이 없습니다. 일반적인 페이지 전환 자체로는 입력을 입력에 저장할 수 없습니다.

    1. 페이지에 입력된 데이터는 탭 전환 시 백엔드에 유지됩니다. 즉, 탭 전환 시 먼저 저장됩니다

    2. 또는 서비스에 저장

    3. 또는 로컬 저장소에 저장

      간단히 말하면 저장할 장소를 찾아서 다시 전환할 때 가져오세요

    참조: sof

    회신하다
    0
  • 漂亮男人

    漂亮男人2017-05-15 17:00:20

    우선, 탭을 전환할 때 페이지를 새로 고칠 필요가 없습니다. angle.factory를 사용하여 캐시를 생성하고 수정 후 데이터를 캐시할 수 있습니다. 라우터를 사용하지 않고 ng-show를 사용하여 4개 보기의 표시를 제어하려면 ui-view를 include로 바꿀 수 있습니다

    회신하다
    0
  • 阿神

    阿神2017-05-15 17:00:20

    각 탭은 UI 보기에 해당하며, 각 페이지는 다른 보기로 표시될 수 있습니다

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-05-15 17:00:20

    angular.factory는 캐시를 생성하고 수정 후 데이터를 캐시합니다, @prototype

    캐싱을 사용하면 좋은 아이디어라고 배웠습니다

    회신하다
    0
  • 취소회신하다