Angularjs 如何将变量值从控制器发送到配置函数?

Angularjs 如何将变量值从控制器发送到配置函数?,angularjs,Angularjs,我的代码 配置函数 控制器 我无法在配置函数中访问$rootScope 我需要将这个url(在path变量中)分配给位于routeProvider中的templateUrl 如何将该url发送到配置函数 任何想法…在您的控制器中创建一个工厂,并将url分配给该工厂方法,然后在配置中在templateUrl函数中返回路由器url TemplateUrl也可以是返回url的函数。它采用一个预设参数stateParams,该参数未注入 .when('/datatable', {

我的代码

配置函数 控制器 我无法在配置函数中访问$rootScope

我需要将这个url(在path变量中)分配给位于routeProvider中的templateUrl

如何将该url发送到配置函数


任何想法…

在您的控制器中创建一个工厂,并将
url
分配给该工厂方法,然后在配置中在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();
});
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();
});