在重新加载页面时使用Angularjs的Rails,从angularjs呈现的内容消失

时间:2016-01-15 15:21:33

标签: ruby-on-rails angularjs

我在Angularjs中使用Rails。所以,我有一个名为" Notes"当我点击"注意"它需要我的网址" http://localhost:3000/#/notes"并通过angularjs渲染一些模板。 当我重新加载页面时,模板没有重新加载,当我点击链接"注意"然后只有它渲染这些模板。

所以我的简单问题是在重新加载页面时,为什么通过angularjs呈现的所有内容都会消失,以及如何解决这个问题。

更新

-javascript
   -index.html
   -routes.js

-view
   -course
      -index.html

查看/当然/ index.html中

<div class="row">
  <div ng-include="'index.html'"></div>
</div>

的javascript / index.html中

<div class="nav-list">
  <a ui-sref="notes"> Notes </a>
  <a ui-sref="users"> Users </a>
</div>

<div class="main-wrapper">
  <ui-view></ui-view>
</div>

javescript / routes.js

....
    .state('notes', {
      url: '/notes',
      templateUrl: 'template/pages/notes/index.html',
      controller: 'NotesIndexController'
    })
    .state('users', {
      url: '/users',
      templateUrl: 'template/pages/users/index.html'
    })
...

我将上述方案更改为此

查看/当然/ index.html中

<div class="row">
  <div class="nav-list">
      <a ui-sref="notes"> Notes </a>
      <a ui-sref="users"> Users </a>
    </div>

    <div class="hero-wrapper">
      <div class="hero-content">
        <div class="hero"></div>
      </div>
    </div>

    <div class="main-wrapper">
      <ui-view></ui-view>
    </div>
</div>

这解决了我的问题,但上述两种情况之间的区别是什么。为什么表现不同。感谢

1 个答案:

答案 0 :(得分:2)

您需要单独对应用程序的每个部分进行故障排除。你没有“Rails和AngularJS”问题;您的Rails API(向Jular提供JSON)有问题,或者您的Angular客户端(从API接收正确的数据但未正确显示)或两者都有问题。 / p>

我从Rails方面开始;使用像Cocoa Rest Client这样的API测试工具来模拟对Rails API的请求,并确保响应数据采用您期望的格式。一旦你验证了这一点,你就可以将它从一个可能也是Rails的问题减少到一个纯粹的Angular问题,并且你可以单独对Angular应用程序进行故障排除(例如,通过提供虚拟JSON而不是让它与之交谈) Rails app)。

祝你好运!