Jquery 在AngularJS中动态添加svg、操纵和添加到DOM

Jquery 在AngularJS中动态添加svg、操纵和添加到DOM,jquery,angularjs,Jquery,Angularjs,我有一个html页面,弹出一个模式对话框,其中有一个.svg文件 svg文件(目前)位于静态内容文件夹中 我想将svg文件加载到内存中,进行一些内存编辑,然后将其动态添加到弹出页面中 如何使用AngularJS(使用{{}}并在控制器中填充/操作)完成此操作?修复了此问题。使用AngularJS UI,有一个很好的基本模板来显示模态对话框(请参阅中的模态部分) 我必须做的一个修复是调用$scope.$apply来显示动态注入的html HTML: {{process.id} 开始人:(虚拟)

我有一个html页面,弹出一个模式对话框,其中有一个.svg文件

svg文件(目前)位于静态内容文件夹中

我想将svg文件加载到内存中,进行一些内存编辑,然后将其动态添加到弹出页面中


如何使用AngularJS(使用{{}}并在控制器中填充/操作)完成此操作?

修复了此问题。使用AngularJS UI,有一个很好的基本模板来显示模态对话框(请参阅中的模态部分)

我必须做的一个修复是调用$scope.$apply来显示动态注入的html

HTML:


{{process.id}
开始人:(虚拟)
显示图表
工艺流程图
接近
而JS:

'use strict';

    app.controller('MyProcessesController',
        function MyProcessesController($scope, $rootScope, $log, myService) {
            $rootScope.contentTitle = "My processes";
            $scope.myProcesses = myService.getMyProcesses();

            $scope.open = function (process) {
                //TODO: temp hack to load the svg, because current service does not give us the svg yet
                $('<div>').load("/Content/svg/svgexample.svg", function (data) {
                    $scope.svgData = data;
                    $scope.shouldBeOpen = true;
                    $scope.$apply(); // this is neccessary to show the dialog immediately
                });
            };

            $scope.close = function () {
                $scope.shouldBeOpen = false;
            };

            $scope.opts = {
                backdropFade: true,
                dialogFade: true
            };
        });
“严格使用”;
应用程序控制器(“MyProcessController”,
函数myProcessController($scope、$rootScope、$log、myService){
$rootScope.contentTitle=“我的流程”;
$scope.myprocesss=myService.getmyprocesss();
$scope.open=功能(流程){
//TODO:temp hack加载svg,因为当前服务还没有提供svg
$('').load(“/Content/svg/svgexample.svg”,函数(数据){
$scope.svgData=数据;
$scope.shouldBeOpen=true;
$scope.$apply();//这是立即显示对话框所必需的
});
};
$scope.close=函数(){
$scope.shouldBeOpen=false;
};
$scope.opts={
backdropFade:是的,
对话:对
};
});

AngularJS和SVG。。。愿原力与你同在!
'use strict';

    app.controller('MyProcessesController',
        function MyProcessesController($scope, $rootScope, $log, myService) {
            $rootScope.contentTitle = "My processes";
            $scope.myProcesses = myService.getMyProcesses();

            $scope.open = function (process) {
                //TODO: temp hack to load the svg, because current service does not give us the svg yet
                $('<div>').load("/Content/svg/svgexample.svg", function (data) {
                    $scope.svgData = data;
                    $scope.shouldBeOpen = true;
                    $scope.$apply(); // this is neccessary to show the dialog immediately
                });
            };

            $scope.close = function () {
                $scope.shouldBeOpen = false;
            };

            $scope.opts = {
                backdropFade: true,
                dialogFade: true
            };
        });