$stateProvider 未按预期加载页面 [英] $stateProvider not loading pages as expected

查看:30
本文介绍了$stateProvider 未按预期加载页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将 $stateProvider 用于我的 url 路由.我想如果我使用$stateProvider,那么我就不需要使用$routeProvider.这样对吗?我能够让我的 url 路由与 $routeProvider 一起工作,但我无法让我的 url 路由与 $stateProvider 一起工作.这是我到目前为止的代码:

var app = angular.module("app",['ui.state']);app.config(function($urlRouterProvider, $stateProvider, $locationProvider) {$urlRouterProvider.otherwise("/home")$stateProvider.state('家', {网址:/家",控制器:'HomeCtrl',意见:{main: { templateUrl: "views/home/main.html" }sub: { templateUrl: "views/home/sub.html" }}}).state('产品/信息', {网址:/产品/信息",控制器:'产品控制',意见:{main: { templateUrl: "views/products/main.html" },sub: { templateUrl: "views/products/info/sub.html" }}}).state('产品/评论', {网址:/产品/评论",控制器:'产品控制',意见:{sub: { templateUrl: "views/products/reviews/sub.html" }}})

在我的shell"html页面上,我有以下内容:

<div ui-view="main"></div><div ui-view="sub"></div>

当我访问我的任何网址时,我只能看到 shell html 页面.我的 ui-view 中没有加载任何内容.我错过了什么?

解决方案

这里,你的状态类型'products/reviews'是错误的,应该是'products.reviews'

I am trying to use $stateProvider for my url routing. I thought that if I use $stateProvider, then I don't need to use $routeProvider. Is this correct? I was able to get my url routing to work with $routeProvider, but am unable to get my url routing to work with $stateProvider. Here is the code I have so far:

var app = angular.module("app",['ui.state']);
app.config(function($urlRouterProvider, $stateProvider, $locationProvider) {

$urlRouterProvider.otherwise("/home") 

$stateProvider
    .state('home', {
        url: "/home",
        controller: 'HomeCtrl',
        views: {
            main: { templateUrl: "views/home/main.html" }
            sub: { templateUrl: "views/home/sub.html" }
        }
    })
    .state('products/info', {
        url: "/products/info",
        controller: 'ProductsCtrl',
        views: {
            main: { templateUrl: "views/products/main.html" },
            sub: { templateUrl: "views/products/info/sub.html" } 
        }
    })
    .state('products/reviews', {
        url: "/products/reviews",
        controller: 'ProductsCtrl',
        views: {
            sub: { templateUrl: "views/products/reviews/sub.html" } 
        }
    })

On my "shell" html page I have the following:

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

When I visit any of my urls I only see the shell html page. Nothing is being loaded into my ui-view's. What am I missing?

解决方案

here,your state type 'products/reviews' is wrong,it should be 'products.reviews'

这篇关于$stateProvider 未按预期加载页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆