templateURL函数未正确评估

时间:2013-10-30 20:20:23

标签: function angularjs

我定义了路由提供程序:

$routeProvider.when('/interview', {
    controller: 'Interview',
    templateUrl: function(parms) {
    return parms.target + '/partials/Interview.html';
    }
});

但我得到以下例外:

Uncaught TypeError: Object function (parms) {
                   return 'partials/Interview.html';
                } has no method 'match'

使用断点,我发现AngularJS认为我的函数是一个URL。

完全糊涂。

1 个答案:

答案 0 :(得分:1)

你可能正在使用一个角度的稳定版本(1.0.8),它不允许templateUrl成为一个函数。您应该使用最新版本候选版本1.2-rc3。

1.0.8 documentation for $routeProvider

  

templateUrl - {string =} - 应由ngView使用的html模板的路径。

1.2-rc3 documentation for $routeProvider

  

templateUrl - {string = | function()=} - 返回a的路径或函数   应该由ngView使用的html模板的路径。

     

如果templateUrl是一个函数,将使用以下函数调用它   参数:

     

{Array。} - 从当前提取的路由参数   $ location.path()通过应用当前路线