Ui-路由器 Angular - 部分 html

Ui-Router for Angular - Partials html

有!我正在尝试使用部分,但没有用:

我的 html 文件已创建并就位,我不明白为什么它不起作用!

我正在使用 angular 1.6.4 和 ui-router 1.0.0-rc.1

谁能帮帮我?

myApp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state("home", {
url: "/home",
templateUrl: "home.html",
controller: "HomeController",
});
$stateProvider
.state("about", {
url: "/about",
templateUrl: "about.html",
controller: "AboutController",
});
$stateProvider
.state("contact", {
url: "/contact",
templateUrl: "contact.html",
controller: "ContactController",
});
});
myApp.controller('HomeController', function($scope, $location) {
$scope.message = 'Home Controller!';
});
myApp.controller('AboutController', function($scope) {
$scope.message = 'About Controller.';
});
myApp.controller('ContactController', function($scope) {
$scope.message = 'Contact Controller';
});

如果我改成这个(下图),它工作得很好:

var myApp = angular.module('helloworld', ['ui.router']);

myApp.config(function($stateProvider) {
  var helloState = {
    name: 'hello',
    url: '/hello',
    template: '<h3>hello world!</h3>'
  }

  var aboutState = {
    name: 'about',
    url: '/about',
    template: '<h3>Its the UI-Router hello world app!</h3>'
  }

  $stateProvider.state(helloState);
  $stateProvider.state(aboutState);
});

对于初学者,请检查这段代码以了解 $stateProvider

的正确语法
app.config(function($stateProvider) {
  $stateProvider
    .state('home', {
      url: '/home',
      templateUrl: 'views/home.html'
    }) // no semicolon here
    .state('projects', {
      url: '/projects',
      templateUrl: 'views/projects.html'
    }) // no semicolon here
    // etc
});

你的状态之间不应该 ;

此外,你应该把它们放在一起,而不是分开 $stateProvider

此外,您应该删除 $stateProvider 元素中每个控制器声明末尾的额外 ,

这是一个工作示例。
http://embed.plnkr.co/YKtubLucc5Qa4GwGI77V/