Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在苗条动作上传递多个参数_Javascript_Svelte - Fatal编程技术网

Javascript 在苗条动作上传递多个参数

Javascript 在苗条动作上传递多个参数,javascript,svelte,Javascript,Svelte,根据Svelte文件: 动作是在创建元素时调用的函数。它们可以返回一个带有destroy方法的对象,该方法在元素卸载后调用 我想将多个参数传递给一个纤细的动作函数,但只有最后一个参数被重新编码 功能示例(节点、arg1、arg2){ //该节点已装入DOM中 log(arg1,arg2)//应该显示'ab',但实际上只显示'b undefined' 返回{ 销毁{ //该节点已从DOM中删除 } } } 你好,世界! 是否有任何可行的解决方案可以避免使用单个对象作为参数 <scrip

根据Svelte文件:

动作是在创建元素时调用的函数。它们可以返回一个带有destroy方法的对象,该方法在元素卸载后调用

我想将多个参数传递给一个纤细的动作函数,但只有最后一个参数被重新编码


功能示例(节点、arg1、arg2){
//该节点已装入DOM中
log(arg1,arg2)//应该显示'ab',但实际上只显示'b undefined'
返回{
销毁{
//该节点已从DOM中删除
}
}
}
你好,世界!
是否有任何可行的解决方案可以避免使用单个对象作为参数

<script>
    function example(node, arg) {
        // the node has been mounted in the DOM
        console.log(arg) // Returns a object with the arguments
        return {
            destroy() {
                // the node has been removed from the DOM
            }
        }
    }
</script>

<h1 use:example>Hello World!</div>

<!-- Passing parameters -->
<h1 use:example={{
    arg1: [50, 75, 100],
    arg2: true
}}>Works like a charm!</h1>

函数示例(节点,参数){
//该节点已装入DOM中
log(arg)//返回带有参数的对象
返回{
销毁{
//该节点已从DOM中删除
}
}
}
你好,世界!
工作起来很有魅力!

您还可以使用数组

下面是我的代码片段:

export function initMapDesc(mapMark) {

  // make the entry (obj) and the composed search regex reactive
  return (node, [obj, pRex]) => {
    // the node has been mounted in the DOM
    node.innerHTML = mapObj(node, obj, pRex, mapMark);

    return {
      update([obj, pRex]) {
        node.innerHTML = mapObj(node, obj, pRex, mapMark);
      },
      // destroy the node to clear the view (on session change)
      destroy() {
        node.innerHTML = '';
      }
    };
  };
};
此代码将对象呈现到表
节点中。正则表达式流用于搜索节点和标记搜索结果

下面的代码显示了use函数的调用。闭包用于将对象传递给use函数并接收regex搜索结果

const mapMark = {         // mapMark Obj
  markedIds: [],          // marked result row ids 
  skipProps: ['kind', 'method', 'type', 'bic']
};
const mapper = initMapDesc(mapMark); 
在HTML中:

<td id="{key}" class="space-normal" use:mapper={[$norm.map[key], $pseudoRex]}></td>


我已经提交了一个允许在use指令中使用对象和类方法的脚本。

{}
之间的内容可以是任何JavaScript表达式,当您编写
'a','b'
时,您正在使用,因此整个表达式的值将是
'b'

您可以改用数组

示例()


函数示例(节点[arg1,arg2]){
console.log(arg1、arg2)
返回{
销毁{
//该节点已从DOM中删除
}
}
}
你好,世界!
<td id="{key}" class="space-normal" use:mapper={[$norm.map[key], $pseudoRex]}></td>