如何在打开模型时动态加载控制器文件 Web应用中存在大量的模态模板(角基模)。打开模式时,我们必须提供在页面javascript文件中创建的控制器。但是这个控制器通常是内联编写的。我想将这些控制器作为外部或动态加载

如何在打开模型时动态加载控制器文件 Web应用中存在大量的模态模板(角基模)。打开模式时,我们必须提供在页面javascript文件中创建的控制器。但是这个控制器通常是内联编写的。我想将这些控制器作为外部或动态加载,javascript,angularjs,zurb-foundation,angular-foundation,Javascript,Angularjs,Zurb Foundation,Angular Foundation,就像: var modalInstance = $modal.open({ templateUrl: 'myModalContent.html', controller: 'modal-controller.js' }) 能做到吗?如果是这样的话,我该怎么做呢 谢谢你的帮助你能试试这个吗 angular.module('foundationDemoApp',['mm.foundation']); 角度.module('fou

就像:

var modalInstance = $modal.open({ templateUrl: 'myModalContent.html', 
                                 controller: 'modal-controller.js' })
能做到吗?如果是这样的话,我该怎么做呢

谢谢你的帮助

你能试试这个吗

angular.module('foundationDemoApp',['mm.foundation']);
角度.module('foundationDemoApp')。控制器('ModalDemoCtrl',函数($scope,$modal,$log){
$scope.items=['item1','item2','item3'];
$scope.open=函数(){
var modalInstance=$modal.open({
templateUrl:'myModalContent.html',
控制器:“ModalInstanceCtrl”,
决心:{
项目:功能(){
返回$scope.items;
}
}
});
modalInstance.result.then(函数(selectedItem){
$scope.selected=selectedItem;
},函数(){
$log.info('Modal disposed at:'+new Date());
});
};
});
//请注意,$modalInstance表示模式窗口(实例)依赖关系。
//它与上面使用的$modal服务不同。
角度.module('foundationDemoApp')。控制器('ModalInstanceCtrl',函数($scope,$modalInstance,items){
$scope.items=项目;
$scope.selected={
项目:$scope.items[0]
};
$scope.ok=函数(){
$modalInstance.close($scope.selected.item);
};
$scope.cancel=函数(){
$modalInstance.disclose('cancel');
};
});

我是模态的!
  • {{item}}
选定:{{Selected.item}

好啊 × 打开我! 从模式中选择:{{selected}
使用oclazyload

 function nameOpen(name){    
     $ocLazyLoad.load('modal/name.ctrl.js').then(function(){
    var modalInstance = $modal.open({
      templateUrl: 'modal/name.html',
      controller: 'nameCtrl',
      controllerAs: 'vm',
      resolve: {
        phones: function () {
          return name;
        }
      }
    });
    modalInstance.result.then(function (selectedItem) {
      $scope.selected = selectedItem;
    }, function () {
      //$log.info('Modal dismissed at: ' + new Date());
    });
  });
}

我已经知道了这一点,但我的问题是如何从外部js文件(如Template)加载控制器?var modalInstance=$modal.open({templateUrl:'myModalContent.html',controller:'modal controller.js'})mmm。。我认为这毫无意义。因为在modal-controller.js内部,您可以拥有任何类型的javascript代码,无论是否是控制器。角js不提供AMD未来。未来可能会出现angular 2.0。