【问题标题】:View Templates doesn't get rendered with $routeProvider视图模板未使用 $routeProvider 呈现
【发布时间】:2018-09-26 17:56:56
【问题描述】:

我正在尝试切换不同路线的视图。我从这个非常基本的设置开始。但是我的视图模板根本没有被渲染。虽然没有错误。这是我的文件 定义路由的js文件。

var var mainapp = angular.module("routing", ['ngRoute']);
mainapp.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$locationProvider.hashPrefix('');
$routeProvider.when('/students', { templateUrl: 'students.html', controller: 'students' })
              .otherwise({redirectTo:'home.html'});
}]);
mainapp.controller('students', ['$scope',function ($scope) {
$scope.message = "Hello,This is students controller";
}]);

模板只是为了理解目的而简单

Students.js

<div class="container">
{{message}}
</div>

我一直在尝试将 html 模板文件保存在不同的文件夹中并尝试但无法显示结果。因此,现在我将所有内容都保存在 Scripts 文件夹中。项目结构非常基础和简单。我用的是Visual Studio 2012(在VS 2017上试过,使用的是angularjs 1.6.2版

【问题讨论】:

    标签: angularjs ngroute


    【解决方案1】:

    您需要指定templateUrl 的路径。看起来你的其他方式也有点不对劲。您说您的 html 文件位于 Scripts 文件夹中,因此我的代码基于此。如果没有其他事情发生,这应该对你有用。

    $routeProvider.when('/', { templateUrl: 'Scripts/home.html' })
                  .when('/students', { templateUrl: 'Scripts/students.html', controller: 'students' })
                  .otherwise({redirectTo:'/'});
    

    【讨论】:

    • 是的,我尝试指定上述的 templateUrl,但仍然没有出现。但是当我特别请求students.html 时,它会提供未评估的绑定,甚至home.html 也可以访问并显示内容。
    • 控制台中是否有一些错误信息?如果可以,您可以发布它们吗?
    猜你喜欢
    • 2017-09-07
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2018-03-25
    • 2017-08-14
    • 2012-01-02
    • 2020-06-08
    相关资源
    最近更新 更多