gpt4 book ai didi

javascript - 从 ngRoute 切换后,AngularJS、Rails 和 ui-router 不显示模板

转载 作者:行者123 更新时间:2023-11-27 23:44:02 25 4
gpt4 key购买 nike

您好,我正在尝试从 ngRoute 切换到 ui-Router,但切换后,模板不再加载。

我在 application.html.erb 中添加了 ui-Router:

<%= javascript_include_tag 'application' %>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script>

这是我的 app.js 中的代码

var app = angular.module("alliance",['ui.router', 'ui.bootstrap']);

app.config(['$stateProvider','$urlRouterProvider',function($stateProvider,

$urlRouterProvider) {

$stateProvider
.state('dashboard', {
url:'/',
templateUrl: "<%= asset_path('pages/dashboard.html') %>",
controller: "DashboardController"
});

$urlRouterProvider.otherwise("dashboard");
}]);

可以正常工作的原始 ngRoute 代码。

var app = angular.module("alliance",['ngRoute', 'ui.bootstrap']);

app.config(['$routeProvider',function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: "<%= asset_path('pages/dashboard.html') %>",
controller: "DashboardController"
})

现在显示默认的 Rails View 。

我检查了 ui 路由器脚本是否已加载。顺序重要吗?

我也玩过州名、网址,但似乎不是这样。

感谢任何帮助。预先非常感谢。

编辑:

我更改了 application.js 的加载顺序

//= require jquery
//= require jquery_ujs
//= require angular
//= require angular-ui-router
//= require angular-ui-bootstrap-tpls
//= require_tree .

我将配置中的 url 更改为/dashboard,但它仍然为我提供默认的 Rails View 。

最佳答案

顺序很重要,您需要在 Angular 之后、应用程序之前加载 ui-router。

此外,$urlRouterProvider.otherwise("dashboard");也是错误的,您的状态称为dashboard,但网址是/。您需要将仪表板的 url 定义为 /dashboard ,然后 $urlRouterProvider.otherwise("/dashboard");

关于javascript - 从 ngRoute 切换后,AngularJS、Rails 和 ui-router 不显示模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33404346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com