AngularJS/Sharepoint路由

AngularJS/Sharepoint routing

我这辈子都无法在 SharePoint O365 中使用路由。我确定它只是 mt $routeProvider,我真的不清楚如何为 Sharepoint 引用 html templateUrl。

这是我的 app.js 文件。

var app = angular.module("ClinicManagerApp", ["ngRoute"]);

app.config(function ($routeProvider) {
    $routeProvider
        .when("/", {
            templateUrl: "ClinicManager/views/home.htm",
        })
        .when("red", {
            templateUrl: "ClinicManager/views/red.htm",
        })
        .when("blue", {
            templateUrl: "ClinicManager/views/blue.htm",
        })
        .when("green", {
            templateUrl: "ClinicManager/views/green.htm",
        })
        .otherwise({
            redirectTo: "ClinicManager/views/error.htm"
        })
});

触发路由的link如下

<li><a href="ClinicManager/red">Red</a></li>
<li><a href="ClinicManager/blue">Blue</a></li>
<li><a href="ClinicManager/green">Green</a></li>

我的文件夹结构如下

名为“/DocLib”的文档库

/DocLib/ClinicManager
:index.htm

/DobLib/ClinicManager/views
:blue.htm
:error.htm
:green.htm
:home.htm
:red.htm

红色 link 的 URL 看起来像这样 "mysharepointurl/DocLib/ClinicManager/red"

当我单击任何 link 时,它会带我到 "Page not found" 页面。

请帮忙!!

尝试在每个名字前加上/:

app.config(function ($routeProvider) {
    $routeProvider
        .when("/", {
            templateUrl: "views/home.htm",
        })
        .when("/red", {
            templateUrl: "views/red.htm",
        })
        .when("/blue", {
            templateUrl: "views/blue.htm",
        })
        .when("/green", {
            templateUrl: "views/green.htm",
        })
        .otherwise({
            redirectTo: "views/error.htm"
        })
});

同时在 href:

中添加 #
<li><a href="#ClinicManager/red">Red</a></li>
<li><a href="#ClinicManager/blue">Blue</a></li>
<li><a href="#ClinicManager/green">Green</a></li>

这是路由的示例:http://next.plnkr.co/edit/sCeIL7y6jCf3Cv72