好的,我在这里使用ASP.NET MVC5 + AngularJS 1.3.8。
Index.vbhtml:
<div ng-controller="MainController">
<tabset justified="true">
<tab ng-repeat="t in tabs" heading="{{t.heading}}" select="go(t.route)" active="t.active"></tab>
</tabset>
</div>
<div ui-view="main"></div>
标签工作正常。
App.js:
App.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
//$locationProvider.html5Mode(true); // HTML5 Mode to remove hashbang, want to revist this later as it requires IIS rewrite rules
$urlRouterProvider.otherwise("/");
$stateProvider
// Main Page
.state('main', {
abstract: true,
url: '/',
views: {
'main': {
templateUrl: '/',
controller: 'MainController'
}
}
})
// Home page
.state('home', {
url: '/home',
views: {
'main': {
templateUrl: '/Home/Index',
controller: 'HomeController'
}
}
})
// Requests Page
.state('requests', {
url: '/requests',
views: {
'main': {
templateUrl: '/Request/Index',
controller: 'RequestController'
}
}
})
// Leave Requests page
.state('requests.leave', {
url: '/leave',
views: {
'main': {
templateUrl: '/Request/Leave',
controller: 'LeaveController'
}
}
})
App.controller('RequestController', function ($scope, $state) {
$scope.loadComp = function () {
$state.go('requests.comp');
};
$scope.loadOvertime = function () {
$state.go('requests.overtime');
};
$scope.loadLeave = function () {
$state.go('requests.leave');
};
});
好的,所以我想要完成的是,在我的“请求”选项卡上,我有三个按钮,当我单击其中一个按钮时,将父视图“main”替换为相应的状态。
我看到按钮点击时的URL更改,但没有任何渲染。
我通过AJAX从服务器获取部分视图,没有任何问题,除了这些按钮点击:(
我很想知道我做错了什么:)谢谢!
FWIW:Angular UI-Router: child using parent's view我一直在尝试重做这件事而没有运气......
答案 0 :(得分:0)
我要做的是尝试指向templateUrl中的真实模板,如下所示:templateUrl:&#39; /Request/Index.html n#39;