我很喜欢angularjs,我想为我的应用程序使用嵌套的ui-route。一些代码片段…
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">×</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 </label> <input placeholder="{{infos.Name}}" id="name" type="text" ng-model="name"> </div>
profile.js
//object for routing var route = angular.module('route',$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();
这是view(index.html)…
<!-- route veiw --> <div class="container" id="route" style="width:90%"> <div ui-view></div> </div> <!-- Footer --> <footer></footer>
我从控制台得到一个错误,表示无法从状态“个人资料”中解析“edit_profile”,而edit.html应该是profile.html的子级状态。我正在使用ui路由在angularjs。我想要点击profile.html中的一个按钮,将其状态更改为edit_profile,并将显示在index.html的ui视图中。关于如何解决这个问题的任何建议,还是有另一个简单的方法呢?
在这种情况下,有角度通知我们:我根本无法找到状态edit_profile。我创造了工作
example here
原文链接:https://www.f2er.com/angularjs/145116.html原因其实就是我们真的要加载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')
检查所有工作here