我第一次使用AngularUI路由器框架,并想知道如何改进下面的代码。角ui路由器 - 多次使用相同的templateUrl和控制器
基本上这一切都正常工作,但最终(在我正在研究的项目中)将会有20个问题或更多,我不想为每个州声明相同的'templateUrl'&'控制器'。
下面是什么我的意思是削减版本:
的index.html
<div ui-view></div>
questions.html
<a ui-sref="q1">q1</a>
<a ui-sref="q2">q2</a>
<div ng-show="$state.current.name === 'q1'">q1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere.</div>
<div ng-show="$state.current.name === 'q2'">q2. Donec nec justo eget felis facilisis fermentum. Aliquam porttitor mauris sit amet orci. Aenean dignissim pellentesque felis.</div>
app.js
angular.module('foo', ['ui.router'])
.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('q1', {
url: '/',
templateUrl: 'questions.html',
controller: 'questionsCtrl'
})
.state('q2', {
url: '/q2',
templateUrl: 'questions.html',
controller: 'questionsCtrl'
});
})
.controller('questionsCtrl', function($scope, $state) {
$scope.$state = $state;
});
;
我想遵循最佳实践并尽可能保持app.js的小/可管理性。
干杯
这怎么可能,他们使用相同的templateUrl /控制器,如果它们是不同的问题吗? – Wawy 2014-08-28 08:13:57
你真的以错误的方式接近这个问题,但这是一个非常深入的话题,值得多一个帖子。如果你想讨论你在做什么,我建立了一个聊天室http://chat.stackoverflow.com/rooms/60150/angular-js-routing-discussion。 – Claies 2014-08-28 08:20:32
@Wawy因为问题来自json并且处于一个大的ng-repeat(为了方便起见,我简化了它)为每个问题提供一个url,当人们点击后或需要指向特定q的链接时。 – Adi 2014-08-28 08:26:48