我正在尝试在指令中使用templateUrl来加载部分,但在访问模板的URL时,我将被重定向回/。因此,部分加载整个页面而不是部分请求。
添加到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) {
}
};
});
app.js
$urlRouterProvider.otherwise( '/' );
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:0)
我要解决此问题的方法是使用id作为templateUrl而不是正确的路径。我不完全确定它是否总是像这样,或者是因为我使用的是grunt角度模板引擎,但是这个改变解决了这个问题:
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'),
...
}]);