2014-11-10 3 views
1

으로 리디렉션됩니다. 지시문에서 부분을로드하는 중 templateUrl을 사용하려고하는데 템플릿의 URL을 방문하면 /로 리디렉션됩니다. 따라서 partial은 요청 partial이 아닌 전체 페이지를로드합니다.지시어 templateUrl이/

추가로-cart.js

.directive('addToCart', function() { 
    return { 
     restrict: 'E', 
     scope: { 

     }, 
     replace: false, 
     templateUrl: 'src/common/add-to-cart/add-to-cart.tpl.html', 
     link: function(scope, element, attrs) { 

     } 
    }; 
}); 

내가 그것을 어떻게 이런 일이 왜 를 해결할 수있다

$urlRouterProvider.otherwise('/'); 
app.js?

+2

그래서 'src/common/add-to-cart/add-to-cart.tpl.html'을 열면 색인 파일이 제공됩니까? 정적 HTML 리소스로 응답하도록 서버를 구성해야하는 것처럼 들립니다. – dfsq

+0

저는 그것이 과도한 각형 템플릿 엔진 일 수 있는지 궁금해지기 시작했습니다. tpl.html 파일을 제거하고 js 파일 안에 캐시하므로 캐시를 고려하여 템플릿을 올바르게로드하지 못하고 있습니까? – user2215771

답변

0

이 문제를 해결하기 위해해야 ​​할 일은 id를 올바른 경로 대신 templateUrl로 사용하는 것이 었습니다. 나는 이런 식으로 항상 경우 완전히 확실하지 않다 또는 나는 툴툴 각 템플릿 엔진을 사용하고 있기 때문에,하지만이 변화는 문제를 해결하는 경우 :

templateUrl: 'add-to-cart/add-to-cart.tpl.html', 

또 다른 해결책은 templateCache을 주입에 의해 템플릿을로드하는 것이 었습니다 정확히 같은 결과와 동일한 ID를 사용합니다. 그래서 결국 나는 그것이 똑같은 일을한다고 가정합니다.

.directive('addToCart', ['$templateCache', function($templateCache) { 
... 
    templateUrl: $templateCache.get('add-to-cart/add-to-cart.tpl.html'), 
... 
}]); 
관련 문제