当前位置: 首页 > 面试题库 >

使用嵌套路由angularjs时出现“无法从状态...解析……”错误

拓拔麒
2023-03-14
问题内容

我是angularjs的新手,我想为我的应用程序使用嵌套的ui-routes。一些代码片段…

profile.html

<div class="row">
<div class="dl-horizontal" id="information">

    <div class="col-md-8 col-md-offset-2">

    <!-- edit button -->
    <div style="margin-bottom: 15px">   
        <div class="button" style="margin-top:5px" style="float:left">
            <button type="button" class="btn btn-primary" ui-sref="edit_profile" ng-click="populate()"><span class="glyphicon glyphicon-pencil"></span> Edit Profile</button>
        </div>
    </div>

client_UI.js

//object for routing
var route = angular.module('route', ["ui.router"])

// configure the routing        
route.config(function($stateProvider, $urlRouterProvider, $locationProvider) {

    // send to profile page
    $urlRouterProvider.otherwise("/profile");

    $stateProvider

    // route for personal info
    .state('profile', {
        url: "/profile", 
        templateUrl : "profile_area/profile.html" , 
        controller : 'profileController'
    })

edit.html

<script src="Scripts/angular-ui-bootstrap.js"></script>


    <!-- title -->
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h2 class="modal-title"> Editing Profile</h2>
    </div>

    <div class="modal-body">
        <form role="form" id="myForm">

            <!-- Name -->
        <div class="panel panel-default">
        <div class="panel-body">
            <div class="form-group">
                <label for="name">Name &nbsp;</label>
                <input placeholder="{{infos.Name}}" id="name" type="text" ng-model="name">
            </div>

profile.js

//object for routing
var route = angular.module('route', ["ui.router"])

// configure the routing        
route.config(function($stateProvider, $urlRouterProvider, $locationProvider) {

$stateProvider

//route for edit page
.state('edit_profile', {
    url: "/edit_profile",
    templateURL : "edit/edit_profile.html" ,
    controller : 'editController'
})
});

route.controller('editController' ["$scope", "$resource", function($scope, $resource) {

// resource objects
var profile = $resource($scope.apicall + "/api/userprofile/", {Userid:$scope.userid}, {'post':{method: 'POST'}});
var edit = new profile();

这是视图(index.html)…

       <!-- route veiw -->
    <div class="container" id="route" style="width:90%">
            <div ui-view></div>
    </div>

    <!-- Footer -->
    <footer></footer>

我从控制台收到一条错误消息,提示“无法从状态’profile’解析’‘edit_profile’”,并且edit.html应该是profile.html的子状态。我在angularjs中使用ui路由。我希望能够单击profile.html中的按钮,该按钮会将状态更改为edit_profile,并将显示在ui视图中的index.html中。关于如何解决此问题的任何建议,或者还有另一种简单的方法可以做到这一点?


问题答案:

在这种情况下,angular通知了我们:
我根本找不到状态edit_profile。我在这里创建了工作示例

原因实际上是,我们确实必须加载2个js文件

  • profile.js
  • client_UI.js

它们都 必须被加载, 但是它们 都不能 声明相同的模块:

var route = angular.module('route', ["ui.router"])

其中之一必须不同,或者只是不声明而是使用模块:

// client_UI.js
var route = angular.module('client_ui', ["ui.router"])
// profile.js
var route = angular.module('route', ["ui.router", "client_ui"])

或两者都可以在同一模块中:

// client_UI.js
var route = angular.module('route', ["ui.router"])
// profile.js
var route = angular.module('route')

检查所有在这里工作



 类似资料:
  • 问题内容: 这是我第一次尝试使用ui-router。 这是我的app.js 如您所见,我有两种状态。我正在尝试这样注册状态: 但是我越来越 无法从状态“解析”“注册” 例外。这里有什么问题? 问题答案: 这种错误通常表示(JS)代码的某些部分未加载。里面的状态不见了。 有一个可行的例子 我不是离子技术方面的专家,因此此示例应表明它可以正常工作,但我使用了更多技巧(用于制表符的父级) 这是一个调整后

  • 本文向大家介绍详解vue路由篇(动态路由、路由嵌套),包括了详解vue路由篇(动态路由、路由嵌套)的使用技巧和注意事项,需要的朋友参考一下 什么是路由?网络原理中,路由指的是根据上一接口的数据包中的IP地址,查询路由表转发到另一个接口,它决定的是一个端到端的网络路径。 web中,路由的概念也是类似,根据URL来将请求分配到指定的一个'端'。(即根据网址找到能处理这个URL的程序或模块) 使用vue

  • 本文向大家介绍vue2路由方式--嵌套路由实现方法分析,包括了vue2路由方式--嵌套路由实现方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了vue2嵌套路由实现方法。分享给大家供大家参考,具体如下: 前面讲过了vue2路由基本用法,一般应用中的路由方式不会像上述例子那么简单,往往会出现二级导航这种情况。这时就需要使用嵌套路由这种写法。 上文中的 importFile,jsp 在上

  • 问题内容: 我正在使用Agnularjs和Ionic Framework。我正在尝试实现嵌套状态,如下所示, 事件菜单(根) 家(2级) 家庭1(3级) 家庭2 报到 参加者 我的路线文件看起来像 有关完整的示例,请参阅codepen:http ://codepen.io/liamqma/pen/mtBne 在工作,但是 不工作。 任何帮助是极大的赞赏。谢谢! 问题答案: 我在那里解决了您的问题:

  • 问题内容: 我正在按照本教程进行操作,试图在我的MVC3应用程序中包含一个SPA,该SPA由控制器DemoController.cs调用。 当应用尝试通过导航栏加载不同的模板(about.html,contact.html和home.html)时,出现404错误。 这是我的目录结构(不包括MVC3应用程序的其余部分): 这是我的script.js文件,我在其中定义路由。 这是我的index.htm

  • 问题内容: 我试图将我的一些路由与React Router v4一起分组以清理一些组件。现在,我只想将非登录路由组和管理路由分组在一起,但是以下操作无效。 main.js public.js Greeting组件显示在“ localhost:3000 /”,但SignupPage组件显示在“ localhost:3000 / signup”,而Login组件不显示在“ localhost:3000