UI视图未更改

时间:2015-11-16 07:11:58

标签: ruby-on-rails angularjs angular-ui-router

我在Ruby on Rails中使用AngularJS进行应用程序。 我的application.js文件是

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require angular.min
//= require angular-ui-router.min


var app = angular.module("railsApp", ['ui.router']).config(function($stateProvider, $urlRouterProvider) {
    $stateProvider
        .state('home', {
            url: '/',
            templateUrl: 'home.html'
        })
        .state('about', {
            url: 'about',
            templateUrl: 'about.html'
        });
    $urlRouterProvider.otherwise('/');
});

app.controller("mainCtrl", function($scope) {
   $scope.helloMsg = "Hello from test application";
});

索引页

<h1>Welcome#index</h1>
<p>Find me in app/views/welcome/index.html.erb</p>

{{helloMsg}}<br>
<ui-view></ui-view>

<a ui-sref="about">about</a>

当加载索引页面时,我看到消息&#34;来自测试应用程序的问候&#34;并转换为<ui-view></ui-view>替换模板内容,但我点击链接新模板未加载,网址未更改为/ about。问题是什么?谢谢,对不起我的英文

2 个答案:

答案 0 :(得分:1)

请尝试此操作来修复您的网址问题并呈现所请求的视图。您必须提供完美的网址 因此,视图将被计算出来。

var app = angular.module("railsApp", ['ui.router']).config(function($stateProvider, $urlRouterProvider) {
    $stateProvider
        .state('home', {
            url: '/',
            templateUrl: 'home.html'
        })
        .state('/about', {
            url: 'about',
            templateUrl: 'about.html'
        });
    $urlRouterProvider.otherwise('/');
});

答案 1 :(得分:0)

根据ui router readme,尝试更改url: 'about' to网址:'/ about'