2015-09-28 18 views
0

我有我試圖讓escaped_fragments利用平均值SEO(下蓋,它使用phantomjs模擬瀏覽器)角NG綁定使用轉義片段與均值SEO消失

我工作的角度web應用程序得到奇怪的行爲,我無法解釋。 非轉義片段正常工作。 隨着轉義片段的一些內容立即消失。

我有一個對象,我正在從路由配置的解析部分中的mongo db讀取,如此。

state('view-creator-test', { 
      url: '/view-creator-test/:creatorId', 
      templateUrl: 'modules/creators/views/view-creator-test.client.view.html', 
      resolve: { 
       creator: function($stateParams, Creators) { 
        return Creators.get({ 
         creatorId: $stateParams.creatorId 
        }).$promise; 
       } 
      }, 
      controller: function($scope, creator) { 
       $scope.resolveCreator = creator; 
      } 
     }). 

然後視圖模板是

<section data-ng-controller="CreatorTestController" > 
     <!-- !CREATOR PROFILE --> 
    <section class="profile-header inverse"> 
    <div class="container"> 
     <!-- AVATAR --> 
     <div class="row"> 

     <!-- NAME/LOCATION --> 
     <div class="col-sm-8 col-sm-offset-1 col-xs-12 text-center-sm"> 
      <div class="row"> 
      <div class="col-sm-6 col-xs-12"> 
       <h2 class="name">{{creator.name}}</h2> 
       <h2 class="name" ng-bind="creator.name"></h2> 
      </div> 
       <h2 class="name">{{test}}</h2> 
       <h2 class="name" ng-bind="test"></h2> 

      </div> 
     </div> 
     </div> 
    </div> 
    </section> 
</section> 

則控制器是

'use strict'; 

angular.module('creators').controller('CreatorTestController', ['$scope', 
    function($scope) { 
     $scope.test = 'Leo was Here'; 
     $scope.creator = $scope.resolveCreator; 
    }]); 

其結果是,創建者名對填充於{{creator.name}},但沒有填寫ng-bind =「creator.name」。 '獅子座在這裏'是填補了兩個。

感謝

回答

0

而不是定義狀態controller功能,然後就分配一個$scope內通過模板變量,你可以放置CreatorTestController路線裏面,讓你直接注入CreatorTestController函數內部的依賴性,刪除ng-controller從模板

.state('view-creator-test', { 
     url: '/view-creator-test/:creatorId', 
     templateUrl: 'modules/creators/views/view-creator-test.client.view.html', 
     resolve: { 
      creator: function($stateParams, Creators) { 
       return Creators.get({ 
        creatorId: $stateParams.creatorId 
       }).$promise; 
      } 
     }, 
     controller: 'CreatorTestController' 
    }) 

控制器

'use strict'; 

angular.module('creators').controller('CreatorTestController', ['$scope', 'creator', //<-- injected resolve method here. 
    function($scope, creator) { 
     $scope.test = 'Leo was Here'; 
     $scope.creator = creator; 
}]); 
+0

這仍然有相同的錯誤ngBind是空的{{}}工作,但有趣的是,現在我得到了測試和創造者的問題,因爲之前我只是與創造者得到錯誤。除了使用escaped_fragments時,這兩項工作都是有效的 – Leo