2013-03-04 45 views
1

我正嘗試構建一個使用角度和引導程序的三個視圖的單頁應用程序。我是新角度,我想要實現以下內容:AngularJS + Twitter Bootstrap:更改後保留部分更改(jQuery Mobile)

在jQuery Mbile中,可以在三個不同的頁面上有三個不同的聊天記錄..如果我目前在頁面A上,頁面B和C中的聊天內容是仍在進行中。因此,瀏覽頁面不會停止其他頁面上的進程。

如果我錯了,請糾正我。我想知道如何在角度上在同一個局部/頁面上的多個視圖/模板之間切換,以便我可以在jQuery Mobile中使用data-role =「page」在div之間導航?把jQuery Mobile與角度和引導結合起來是不是一個好主意? (我真的不認爲這是)

+0

這篇文章可以幫助你。 http://stackoverflow.com/questions/11461426/angularjs-jquery-mobile-w-no-adapter-disabled-routing-used-for-ui-styling – Omar 2013-03-04 13:54:27

回答

0

首先,每當路線改變,角度刷新視圖。防止這種情況的唯一方法是將路由中的「reloadOnSearch」參數設置爲false。完成此操作後,您可以將查詢字符串參數傳遞到視圖,而無需重新加載視圖。有一個額外的警告,你必須明確地聽取「$ routeUpdate」。以下是角碼,下面是一個小提琴,它可以實現您在不刷新視圖的情況下在多個聊天間切換的目標。我使用ng-show根據傳遞的querystring參數顯示適當的聊天。

angular.module('app',[]).config(function($routeProvider){ 

    $routeProvider.when('/', {templateUrl: 'view.html', reloadOnSearch:false}); 

}).controller('controller', function($scope, $routeParams){ 
    $scope.$on('$routeUpdate', function(value) { 
     $scope.id = $routeParams.id; 
    }); 
}).directive('chat', function(){ 
    return{ 
     restrict:'E', 
     replace:true, 
     scope:{}, 
     controller: function($scope){ 
      $scope.items = []; 
      $scope.submit = function(text){ 
       $scope.items.push(text); 
      }; 
     }, 
     templateUrl:'chat.html' 
    } 
}); 

http://jsfiddle.net/jwanga/u2RrU/

+1

這正是我所需要的!太感謝了!! – 2013-03-04 17:55:59

+0

很高興幫助。快樂的編碼。 – jwanga 2013-03-04 19:29:40