angular-ui-router插件提供了“嵌套作用域等规则”等有用的特性,但是它的最后一个版本存在一个严重的问题:不能正确加载templateUrl指定的文件。其实这是一个低级错误导致的:
this.fromUrl = function (url, params) {
if (isFunction(url)) url = url(params);
if (url == null) return null;
else return $http.get(url, {
cache: $templateCache
}).then(function (response) {
return response.data;
});
};
其中的关键问题出在这句:
$http.get(url, { cache: $templateCache })
他错误的调用了$http.get,因为第二个参数是传给服务器的url params,而cache等选项应该出现在第三个参数中!所以,把这句话改为
$http.get(url, {}, { cache: $templateCache })
就可以了。
本文介绍了一个关于angular-ui-router插件的问题:无法正确加载由templateUrl指定的文件。问题在于$http.get方法的参数设置错误,将缓存选项误作为URL参数传递。通过调整参数顺序,可以解决此问题。
8502

被折叠的 条评论
为什么被折叠?



