Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
在Binding.scala中将数组用作可绑定变量_Binding.scala - Fatal编程技术网

在Binding.scala中将数组用作可绑定变量

在Binding.scala中将数组用作可绑定变量,binding.scala,Binding.scala,“我的案例”类中数据字段的参数数量会动态变化 那么,Var是否也可以在Binding.scala中绑定js.Array 我尝试了以下代码,但没有成功: case class Data(d: Var[js.Array[String]]) val data = Vars.empty[Data] { for (x <- data) yield { val y: js.Array[String] = x.d.bind y.zipWithIndex.foreach{case (

“我的案例”类中数据字段的参数数量会动态变化

那么,
Var
是否也可以在Binding.scala中绑定
js.Array

我尝试了以下代码,但没有成功:

case class Data(d: Var[js.Array[String]])
val data = Vars.empty[Data]

{
  for (x <- data) yield {
    val y: js.Array[String] = x.d.bind
    y.zipWithIndex.foreach{case (v, i) => <th>{ y(i) }</th>}
  }
}
case类数据(d:Var[js.Array[String]]
val data=Vars.empty[数据]
{
对于(x{y(i)}
}
}

我可以让它工作

本质上,您必须将每个数组或选项放入常量对象中,如:

  @dom
  def render = {
      val bindData= data.bind
      <div>
        {Constants(bindData: _*)
           .map(a => dataElem(a))
           .map(_.bind)}
      </div>
    }
@dom
def呈现={
val bindData=data.bind
{常数(bindData:*)
.map(a=>dataElem(a))
.map(u.bind)}
}
它应该有:

  • 绑定数据:
    val bindData=data.Bind
  • 放置元素:放置
  • 常量构造函数中的数组:
    常量(bindData:*)
  • 使用每个数据元素调用元素:
    .map(a=>dataElem(a))
  • 绑定每个结果:
    .map(\uu.Bind)

  • 所以你可以一层一层地往下看。

    我可以把它带到工作中去

    本质上,您必须将每个数组或选项放入常量对象中,如:

      @dom
      def render = {
          val bindData= data.bind
          <div>
            {Constants(bindData: _*)
               .map(a => dataElem(a))
               .map(_.bind)}
          </div>
        }
    
    @dom
    def呈现={
    val bindData=data.bind
    {常数(bindData:*)
    .map(a=>dataElem(a))
    .map(u.bind)}
    }
    
    它应该有:

  • 绑定数据:
    val bindData=data.Bind
  • 放置元素:放置
  • 常量构造函数中的数组:
    常量(bindData:*)
  • 使用每个数据元素调用元素:
    .map(a=>dataElem(a))
  • 绑定每个结果:
    .map(\uu.Bind)
  • 所以你可以一层一层地往下看。

    来自,并且必须提到,直接绑定到Vars与理解相比是缓慢的

    您应该始终使用来理解
    变量
    ,除非您正在进行一些必须对整个列表起作用的聚合

    举个例子,我创建了一个更新的ScalaFiddle:

    来自,并且必须提到直接绑定到Vars与理解相比是缓慢的

    您应该始终使用来理解
    变量
    ,除非您正在进行一些必须对整个列表起作用的聚合


    例如,我创建了一个更新的ScalaFIDLE:

    为什么不简单地使用
    Vars[String]
    ?事实上,
    Vars[String]
    中的内部缓存是用于js后端的
    js.Array
    。为什么不简单地使用
    Vars[String]
    ?事实上,
    Vars[String]中的内部缓存
    是一个用于js后端的
    js.Array