Javascript 是否可以在AlloyUI中使用自定义连接器
这里是AlloyUI新手,我想我在YUI框架的一些非常基本的东西上遇到了问题。我正在使用Alloyui3.0.1,它仍然使用YUI和AngularJS 问题是:在AlloyUI中有没有一种方法可以在“每个自定义节点”的基础上创建自定义连接器 目标是能够为每个自定义节点提供不同的自定义连接器(具有一组单独的自定义属性)。例如,假设我有两个自定义节点A和B,我希望使用一种自定义连接器连接节点A-A,使用另一种自定义连接器连接节点B-B。这可能吗 我可以使用自定义属性等创建自定义节点,如下所示:Javascript 是否可以在AlloyUI中使用自定义连接器,javascript,yui,alloy-ui,Javascript,Yui,Alloy Ui,这里是AlloyUI新手,我想我在YUI框架的一些非常基本的东西上遇到了问题。我正在使用Alloyui3.0.1,它仍然使用YUI和AngularJS 问题是:在AlloyUI中有没有一种方法可以在“每个自定义节点”的基础上创建自定义连接器 目标是能够为每个自定义节点提供不同的自定义连接器(具有一组单独的自定义属性)。例如,假设我有两个自定义节点A和B,我希望使用一种自定义连接器连接节点A-A,使用另一种自定义连接器连接节点B-B。这可能吗 我可以使用自定义属性等创建自定义节点,如下所示:
service.getScriptContainer = function(Y) {
var scriptContainer = Y.Component.create({
NAME: 'diagram-node',
ATTRS: {
//..custom properies,
connectors : {
valueFn : function(){
return ConnectorFactory.getScriptConnector(Y);
}
}
},
EXTENDS: Y.DiagramNodeTask,
prototype: {
.....
}
其中ConnectorFactory是一个AngularJS工厂,返回类型为“A.Connector”的对象
当我使用此选项时,我可以在画布上拖放自定义节点,但当我尝试使用其上的连接器连接到另一个节点时,控制台中会出现一个错误,提示:
Uncaught TypeError: undefined is not a function at line 920: aui-diagram-node.js
即:
return instance.get('connectors').has(transition.uid);
。。这就是我迷路的地方
我可以扩展“A.connector”并在“每个自定义节点”的基础上使用它吗?如果是,怎么做
感谢您的帮助
谢谢。我想我至少有你应该调查的方向(如果不是答案): 您可以(重新)编写自己的aui-diagram-builder-connector.js,并通过applyConfig“替换/劫持旧的一个”——如下所示:
YUI().use('aui-diagram-builder', function(Y) {
/* your code */
}).applyConfig({ /* her we "hijack" default aui-diagram-builder-connector file */
modules: {
"aui-diagram-builder-connector": {
fullpath: '/js/aui-diagram-builder-connector-mine.js' /* use relative path and minified version if possible */
}
}
});
这将为内置的必需模块加载新文件,因此您可以在保留旧文件不变的情况下获得最大自由度:)
这只救了我一次,我希望它也能救别人:D
我花了一整天的时间找到它:(我测试了这个,但是DiagramBuilder中从来没有加载或使用cpied/js/aui-diagram-builder-connector-mine.js
致以最诚挚的问候谢谢。我想如果我参与了那个项目的话,这会起作用的。我不再参与那个项目了,但我会投票——可能会帮助其他人!