如何从需要HTML路径的AngularJS javascript控制器访问嵌入式资源(.html)?
一些背景:我有一个.NET MVC站点,几个可移植区域(使用MvcContrib)在不同的项目中生成带有嵌入式控制器,视图,css,js和amp;的.DLL。 HTML。然后在主.NET MVC站点中引用这些DLL。
其中一个便携式区域使用AngularJS,之前它是使用MEF(Microsoft可扩展性框架)的完整.NET MVC项目,但是我正在转移到便携式区域并取消MEF。
便携式领域都运行良好,我的主要MVC应用程序按预期命中控制器和视图,嵌入在程序集中的CSS和JS文件被访问。
现在挑战是使用AngularJS,从服务器端获取c#.net的嵌入资源是正常的,但当角度寻找javascript中现在嵌入的文件的路径时,如何处理它。
一个例子
$scope.editObject = function () {
var modalEditObject = $modal.open({
templateUrl: $rootScope.applicationFolder + '/views/editObject.html',
controller: 'CRUDObjectController',
windowClass: 'popup',
size: 'lg',
resolve: {
object: function () {
return $scope.gridApi.selection.getSelectedRows()[0];
}
}
});
.....
在上面的示例中,此行正在查找要使用的相应HTML文件。但是,这现在是大会的一个嵌入式资源。
templateUrl: $rootScope.applicationFolder + '/views/editObject.html'
答案 0 :(得分:0)
您可以在templateUrl上使用提供url路径的函数:
喜欢这样
templateUrl:myFunc的,
$ scope.myFunc = function(){return $ rootScope.applicationFolder +' /views/editObject.html'}