2017-07-05 2 views
0

Es ist fast eingerichtet, außer dass ui-view lädt den Pfad zu meiner HTML-Datei anstelle der HTML selbst.Angular Routing gibt den Pfad zu HTML zurück anstelle des HTML

import angular from 'angular'; 
import angularMeteor from 'angular-meteor'; 
import template from './main.html'; 
import uiRouter from 'angular-ui-router'; 

import About from '../pages/about/about'; 

export default angular.module('main', [ 
    angularMeteor, 
    uiRouter, 
    About.name 
]) 
    .component('main', { 
    templateUrl: 'imports/main/main.html', 
    controller: MainCtrl 
    }) 
    .config(config); 

function config($locationProvider, $urlRouterProvider) { 
    'ngInject'; 

    $locationProvider.html5Mode(true); 

    $urlRouterProvider.otherwise('/'); 
} 

Hier ist die über Seite Javascript

class About {} 

const name = 'about'; 

export default angular.module(name, [angularMeteor, uiRouter]) 
.component(name, { 
    template, 
    controllerAs: name, 
    controller: About 
}) 
.config(config); 

function config($stateProvider) { 
    'ngInject'; 

    $stateProvider 
    .state('about', { 
    url: '/about', 
    template: '<about></about>' 
    }); 
} 

So wird es /imports/pages/about/about.html statt sagen, was in der HTML-Datei tatsächlich ist.

Antwort

0

Ich denke, Sie zeigen nicht auf die Datei den richtigen Weg.

Versuchen Sie Folgendes zu ändern:

$stateProvider 
.state('about', { 
url: '/about', 
template: '<about></about>' 
}); 

in

$stateProvider 
.state('about', { 
url: '/about', 
template: require('/imports/pages/about/about.html') 
}); 

Lassen Sie mich wissen, ob das funktioniert.

+0

Vielen Dank für Ihre Antwort! Der Statusanbieter hat funktioniert, aber die Komponente benötigte templateUrl anstelle von template. –

0

Template ändern zu templateUrl

templateUrl: 'imports/pages/about/about.html', 
Verwandte Themen