javascript - 一些人可以帮助我使用 Angularjs 使用 Syncfusion ej-angular 在形状中添加 HTML 元素
问题描述
我正在尝试遵循官方文档Syncfusion AngularJs
并尝试创建Nodes
其中HTML Elements
嵌入的按钮、文本框等,但由于某种原因,我无法获得文档中提到的输出。我试图搜索很多,但没有相关的帖子,因此问了同样的问题。
官方文档链接:https ://help.syncfusion.com/angularjs/diagram/shapes#html
困扰我的一件事是这条线。我不确定他们为什么在 HTML 中有这个,然后他们正在创建DIV
:<script id="htmlTemplate" type="text/x-jsrender"></script>
如果有人可以帮助我如何创建节点,我将非常感激,我可以在其中添加我选择的 HTML 元素。
我到目前为止的代码:
<!DOCTYPE html>
<html ng-app="defaultApp">
<head>
<link rel="icon" href="images/logo.jpg">
<title>Draw Shapes with HTML</title>
<link rel="stylesheet" href="http://cdn.syncfusion.com/14.3.0.49/js/web/bootstrap-theme/ej.web.all.min.css" />
<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>
<script src="http://cdn.syncfusion.com/js/assets/external/jsrender.min.js" type="text/javascript"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js"></script>
<script src="https://code.angularjs.org/1.4.0-rc.2/angular.min.js"></script>
<script src="http://cdn.syncfusion.com/14.3.0.49/js/web/ej.web.all.min.js" type="text/javascript"></script>
<script src="http://js.syncfusion.com/demos/web/scripts/xljsondata.js" type="text/javascript"></script>
<script src="https://code.angularjs.org/1.4.0-rc.2/angular-route.min.js"></script>
<script src="http://cdn.syncfusion.com/14.3.0.49/js/common/ej.widget.angular.min.js"></script>
<script src="http://borismoore.github.io/jsrender/jsrender.min.js"></script>
<script src="./js/draw.js"></script>
</head>
<body ng-controller="diagramCtrl">
<ej-diagram id="diagram" e-height="500px" e-width="700px" e-nodes="nodes"></ej-diagram>
<button class="btn btn-info">Add</button>
</body>
</html>
我AngularJS
在文件中的代码draw.js
是这样的:
var syncApp = angular.module("defaultApp", ["ngRoute", "ejangular"]);
var diagram = ej.datavisualization.Diagram;
//Creates a html node
var nodes = [{
name: "htmlNode",
offsetX: 100,
offsetY: 100,
width: 100,
height: 50,
type: ej.datavisualization.Diagram.Shapes.Html,
templateId: "htmlTemplate",
value: "Button"
}];
syncApp.controller('diagramCtrl', function($scope) {
//Sets nodes collection to Diagram model.
$scope.nodes = nodes;
});
解决方案
在分析提供的代码片段时,您已将 htmlTemplate 设置为 div 元素。如果我们设置非脚本元素意味着节点的 htmlTemplate 不可见。如果要为节点设置 htmlTemplate 意味着然后在脚本元素中设置。这样只有节点的 htmlTemplate 可见。我们在脚本中使用了您的 HTML 内容来显示节点的 htmlTemplate。
<script id="htmlTemplate" type="text/x-jsrender">
//Html Template
</script>
推荐阅读
- sql - 无法重新导入从 TDengine 数据库导出的 csv 文件
- java - Selenium:如何从标题中的两个单词之间修剪空格
- discord.js - (Discord.js) 现在播放音乐命令的问题
- flutter - LateInitializationError:字段“___”尚未初始化
- javascript - JSON对象数据到html表
- javascript - 阿拉伯语的自定义音频标签
- c - 指向函数类型的指针
- flutter - 如何在 Flutter 中的 onPressed 按钮后获取 JSON 响应 // Dart
- android-jetpack-compose - 如何在 Compose NavGraph 中的两个或多个 Jetpack 可组合组件之间共享视图模型?
- python - Mako 顶级查找异常