Angularjs路由仅限于localhost

时间:2016-02-01 10:06:26

标签: javascript angularjs wordpress wamp

我必须设置一个由本地其他团队开发的wordpress网站。他们使用了angularjs。棱角分明,我很新。我将wordpress文件放在wamp服务器中。该文件夹的名称是playbook。

当我尝试使用url localhost / playbook访问该网站时,我收到一条javascript错误,指出找不到localhost / home。

我检查了javascript文件,我看到了这样的路由

.when('/', {
            controller: 'HomeCtrl',
            templateUrl: '/home'
        })

当我在开头添加/ playbook时,如下面的templateUrl,页面显示

.when('/', {
                controller: 'HomeCtrl',
            templateUrl: '/playbook/home'
        })

为什么会这样。路由不应该通过localhost / playbook吗?

1 个答案:

答案 0 :(得分:1)

您需要为模板指定扩展名.html。假设您的文件名为home.html,请将当前代码替换为

.when('/', {
                controller: 'HomeCtrl',
            templateUrl: '/playbook/home.html'
        })

关于更具体路径的使用。考虑到这一点,你在Angular中编写一个多模块应用程序。为了分开关注,你可能有一个基于每个模块的文件结构。所以我的路线看起来像这个。对于我的文件,这是在app.js中定义的,它位于我整个应用程序的JS文件夹中。另外,您可以选择在一个单独的文件夹中完全定义路径。没有理由将其默认为特定文件或文件夹。

foodApp.config(['$routeProvider',function($routeProvider){
    $routeProvider.when('/',
          {
        templateUrl:'js/apps/choiceScreen/choice.html',
        controller:'choiceCtrl'

    })
    .when('/cafe',
         {
        templateUrl:'js/apps/cafe/cafeScreen.html',
        controller:'cafeCtrl'
    })
    .when('/showCafe/',
         {
        templateUrl:'js/apps/eachScreen/itemView.html',
        controller:'itemCtrl'
    })
    .otherwise({
        redirectTo: '/'
    });

}]);