Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Aurelia 奥雷利亚组合_Aurelia_Aurelia Templating - Fatal编程技术网

Aurelia 奥雷利亚组合

Aurelia 奥雷利亚组合,aurelia,aurelia-templating,Aurelia,Aurelia Templating,关于Aurelia的元素的快速问题。我曾希望使用它插入自定义元素作为表单控件,如下所示: <!-- Loop through form controls --> <div class="form-group" repeat.for="control of controls"> <label><span t="${control.label}"></span></label> <compose view-mode

关于Aurelia的
元素的快速问题。我曾希望使用它插入自定义元素作为表单控件,如下所示:

<!-- Loop through form controls -->
<div class="form-group" repeat.for="control of controls">
  <label><span t="${control.label}"></span></label>
  <compose view-model="resources/elements/${control.type}/${control.type}" 
    value.bind="control.value" data.bind="control.data" placeholder.bind="control.placeholder"></compose>
</div>
<compose view-model="resources/elements/${control.type}/${control.type}" 
         model.bind="{'control': control, 'model': model, 'readonly': readonly}">
</compose>

我发现有趣的是,当您使用
model.bind
时,不需要使用
@bindable
装饰器来接收参数。它们在视图中立即可用。

使用model.bind怎么样

<!-- Loop through form controls -->
<div class="form-group" repeat.for="control of controls">
  <label><span t="${control.label}"></span></label>
  <compose view-model="resources/elements/${control.type}/${control.type}"
    model.bind="control"></compose>
</div>

然后视图模型可以从其
模型
属性访问
数据
占位符

可以访问外部范围,因此无需绑定任何内容。这应该起作用:

用法

<compose view-model="resources/elements/${control.type}/${control.type}"></compose>

HTML

<template>${propertyFromParent}</template>
${propertyFromParent}

运行示例

此作用域是否仅在
bind()
方法中可用,还是始终可用?在
bind
之后的所有时间,我想Fabio,我已经尝试过了,但根本不起作用
bind(){console.log(“EwTextbox bind():”,this);}
仅显示
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
此.control
未定义。如果您将
model=“control”
添加到
标记中,则上述操作将有效。感谢您的贡献,因为它帮助我获得了全局解决方案,我将其添加到了问题编辑中。@l如果
可以访问外部范围,则无需使用
model.bind
。但是,如我所说,在
bind()
方法中无法访问数据。对不起,我对那部分的理解是错误的。但是,您仍然可以在视图中使用该属性。请看,我刚刚从Ashley Grant那里了解到,您不能将
@bindable
参数与
一起使用,如果您有一个仅视图的元素,则视图连接到外部范围,但是如果您有一个视图模型,则需要通过
model.bind
传递。我发现有趣的是,当您使用model.bind时,您不需要使用@bindable装饰器来接收参数。它们在视图中立即可用。这仍然是真的吗?我似乎找不到一种方法让Aurelia将
模型
属性绑定到viewmodel,而不自己主动分配它们。。。