我的代码......
var a = await repository.Members.FirstOrDefaultAsync(x => x.Name == "BOB"); //is true (Entity Framework Core)
var c = repository.Members.FirstOrDefault(x => x.Name == "BOB"); //is true (LINQ)
var b = "Bob" == "BOB"; //is false
config.$inject = ['$routeProvider', '$locationProvider'];
function config($routeProvider, $locationProvider ) {
$routeProvider
.when('/', {
controller: 'LoginController',
templateUrl: 'pages/login.view.html',
controllerAs: 'vm'
})
.when('/datepicker', {
controller: 'DatepickerController',
templateUrl: 'pages/datepicker.view.html',
controllerAs: 'vm'
})
.when('/password', {
controller: 'PasswordController',
templateUrl: 'pages/password.view.html',
controllerAs: 'vm'
})
.when('/datatable', {
controller: 'DatatableController',
**templateUrl: "I WANT TO GET HERE"**
controllerAs: 'vm'
})
.otherwise({ redirectTo: 'pages/login.view.html' });
}
我无法在配置功能中访问$ rootScope ...
我需要将此url(在路径变量中)分配给routeProvider中的templateUrl ...
如何将该url发送到配置功能?
任何想法......
答案 0 :(得分:1)
在您的控制器中创建工厂并将url
分配给该工厂方法,然后在config中返回templateUrl函数中的路由器URL。
TemplateUrl也可以是返回url的函数。它需要一个预设参数stateParams,它不会被注入。
.when('/datatable', {
controller: 'DatatableController',
templateUrl: function(Mconfig){
return Mconfig.getUrl(); //config.getUrl is service method to return the url
}
controllerAs: 'vm'
})
样品工厂
factory('Mconfig', function() {
return {
var url;
getUrl: function() {
return url;
},
setUrl: function(_url) {
url = _url
}
}
})
你的控制器
frm.submit(function(ev) {
var eCode=123;
var start_date = $('#start_date').val();
var end_date = $('#end_date').val();
var start_date = new Date($('#start_date').val());
var sDate = start_date.getTime();
var end_date = new Date($('#end_date').val());
var eDate = end_date.getTime();
var path="pages/datatable.view.html?ecode="+eCode+"&sDate="+sDate+"&eDate="+eDate;//**I want to send this url to routeprovider**
Mconfig.setUrl(path);
$location.path('/datatable');
ev.preventDefault();
});