2017-03-16 60 views
0

我是Angular的新手,我需要UI路由器的幫助。點擊鏈接後,我需要加載mylink.html。這裏是我的代碼:角路由不起作用(沒有錯誤)

var app = angular.module('hollywood', ['ui.router']); 
app.config(function($stateProvider, $urlRouterProvider, $locationProvider) { 
$locationProvider.html5Mode({enabled: true, requireBase: false}); 
$stateProvider.state('mylink', { 
templateUrl: 'mylink.html' 
}); 
}) 

<a ui-sref="mylink">My Link</a> 
<article ui-view></article> 

我在做什麼錯?有一個在控制檯沒有錯誤,但錯誤之後點擊:

XMLHttpRequest cannot load .... Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource. 

的事情是文件是本地的,我不認爲我可以建立CORS在這些情況下。

https://jsfiddle.net/2q61mcp9/

+0

你錯過了在狀態對象中添加網址 –

+0

我應該把什麼url?我看過教程,並不總是人們需要url。這是爲什麼? –

回答

0

嘗試使用此代碼

var app = angular.module('hollywood', ['ui.router']); 
    app.config(function($stateProvider, $urlRouterProvider, $locationProvider) { 
    $locationProvider.html5Mode({ 
     enabled: true, 
     requireBase: false 
    }); 
    $stateProvider.state('mylink', { 
     url: '/my-link', 
     templateUrl: 'mylink.html' // give absolute url like src/views/mylink/html 
    }); 
    }) 

你錯過了在

+0

結帳此http://codepen.io/alexandremasy/pen/mDcEd –

+0

不幸的是,不起作用。當我在Electron中運行它時,它的工作是正確的,但在瀏覽器中它根本不工作。 在電子應用程序中,我點擊「mylink」並加載我的HTML文件,但當我點擊另一個「mylink2」時,它不起作用。 –

0

@Damian你通過某種服務器(蟒蛇,節點等的服務您的角度應用狀態對象添加網址),還是隻是在瀏覽器中通過文件系統(直接通過瀏覽器打開選項)運行應用程序? 如果你直接運行它,你很可能會得到這個CORS問題,因爲瀏覽器不允許通過文件系統共享資源來解決安全問題。

+0

我直接在我的本地主機上使用它。當我在Electron(chrominium + nodejs)中運行它時,我沒有加載文件的問題。但仍然有路由問題。它只能使用一次。 –

0

我的代碼是正確的。我已經刪除'網址'並在服務器上運行它。有用。