我有ng-repeat列表和ng-view:
<div ng-controller="TabCtrl">
<ul>
<li ng-repeat="tab in tabs">
<a href="#/{{tab.page}}">{{tab.title}}</a>
</li>
</ul>
<div ng-view></div>
</div>routeProvider:
angular.module("sampleApp", ['ngRoute'],
function($routeProvider) {
$routeProvider
.when('', {
templateUrl: 'tabs/main.html',
controller: MainCtrl
})
.when('/main', {
templateUrl: 'tabs/main.html',
controller: MainCtrl
})
.when('/main/model/:url', {
templateUrl: 'tabs/modelPage.html',
controller: modelCtrl
})
});main.html:
<div>
<h1>Main</h1>
<ul>
<li ng-repeat="model in models">
<a href="#/main/model/{{model.url}}">{{model.name}}</a>
</li>
</ul>
<div ng-include="content"></div>
和控制器MainCtrl:
function MainCtrl($scope, $location, $http){
$scope.content = "main_main.html";
$http.post('get_data.php', {action: 'get_models'})
.success(function(data){
$scope.models = angular.fromJson(data);
});}
我想获得modelPage.html而不是main.html,但ng-view不适用于此。如何实现这段代码?
发布于 2013-12-27 03:19:47
我可能没有正确理解您的问题,但是您的JS中似乎缺少一个'modelCtrl‘控制器(或者它没有显示在您的问题详细信息中)。
Your $routeProvider
angular.module("sampleApp", ['ngRoute'],
function($routeProvider) {
$routeProvider
...
.when('/main/model/:url', {
templateUrl: 'tabs/modelPage.html',
controller: modelCtrl
})
});添加'modelCtrl'
function modelCtrl($scope, $location, $http){
...
});https://stackoverflow.com/questions/20340141
复制相似问题