首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blockly上的返回块

Blockly上的返回块
EN

Stack Overflow用户
提问于 2018-08-22 18:58:46
回答 1查看 467关注 0票数 0

我想在一个表单上使用Blockly,让用户创建自己的算法。为此,我使用了一个我创建的"return“块,这样我就可以在PHP中用eval调用这个algo。

这是我的块的初始化:

代码语言:javascript
复制
var jsonReturn = {
    "message0"          :"Return %1",
    "args0"             :[
                            {"type":"input_value", "name":"script"}
                        ],
    "previousStatement" :null,
    "colour"            :70,
    "tooltip"           :"Renvoie le nouveau prix"}

Blockly.Blocks['return'] = {init: function() { this.jsonInit(jsonReturn);}};

下面是PHP的代码生成器:

代码语言:javascript
复制
Blockly.PHP['return'] = function(block) {
    var argument0 = Blockly.PHP.valueToCode(block, 'script');
    var code = 'return ' + argument0 + ';\n';
    return code;
};

我想做的是使用一个大的返回块,其中包含了整个算法,并使这个返回块无法删除。

有人能在这方面帮我吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-08-23 02:13:02

如果您希望块始终位于工作区中并且不可删除,则可以在页面加载时立即从XML加载它。

您的XML将如下所示:

代码语言:javascript
复制
<xml xmlns="http://www.w3.org/1999/xhtml">
  <block type="return" id="my_return_block_id" deletable="false"></block>
</xml>

你可以用Blockly.Xml.domToWorkspace(yourXml, yourWorkspace)加载它。

如果希望用户添加块,但使其不可删除,则可以在创建块后使用block.setDeletable(false)创建单独的块undeletable

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51965352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档