10 月 CMS で ToDo リストを作成するコンポーネントを作成しようとしています (このビデオを参照)。アイテムの追加は正常に機能しますが、ボタンがクリックされたときに 1 つの要素を削除するように Ajax ハンドラーを設定しようとしています。
これはhtmlコードです:
<form>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Tasks assigned to: {{ __SELF__.name }}</h3>
</div>
<div class="panel-body">
<div class="input-group">
<input name="task" type="text" id="inputItem" class="form-control" value="" \>
<span class="input-group-btn">
<button type="submit" class="btn btn-primary"
data-request="{{ __SELF__ }}::onAddItem"
data-request-success="$('#inputItem').val('')"
data-request-update="'{{ __SELF__ }}::tasks': '#result'"
>Add</button>
</span>
</div>
<ul class="list-group" id="result">
{% partial __SELF__ ~ '::tasks' tasks=__SELF__.tasks removeId=__SELF__.removeId %}
</ul>
</div>
</div>
<form>
およびタスクのリストをレンダリングするコンポーネント (名前付きタスク) のコード:
{% if tasks|length > 0 %}
{% for i in 0..tasks|length-1 %}
<li class="list-group-item">
{{ tasks[i] }}
<button class="close pull-right"
data request="{{ __SELF__ }}::onRemoveItem"
data-request-success="console.log(data)"
>
×
</button>
</li>
{% endfor %}
{% endif %}
最後にハンドラーのコード (あまりやらないでください):
public function onRemoveItem()
{
return [
'Name' => 'Federico';
];
}
onRemoveItem
ここで、データ要求をボタンに入れるハンドラーをセットアップしました。このページで説明したように、ボタンをクリックするとハンドラーの実行が開始されますが、これは発生しませんが、タスクを挿入する [追加] ボタンではすべてが正しく機能します。データベースで。
誰かが私が間違っていることを説明できますか? (誰かがページを見たい場合は、リンクはhttp://afterlife.ddns.net/です
編集:
解決しました。フレームワークjsをレイアウトファイルにリンクする必要がありました