1

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)"
            >
                &times;
            </button>
        </li>

    {% endfor %}
{% endif %}

最後にハンドラーのコード (あまりやらないでください):

public function onRemoveItem()
{
    return [
        'Name' => 'Federico';
    ];
}

onRemoveItemここで、データ要求をボタンに入れるハンドラーをセットアップしました。このページで説明したように、ボタンをクリックするとハンドラーの実行が開始されますが、これは発生しませんが、タスクを挿入する [追加] ボタンではすべてが正しく機能します。データベースで。

誰かが私が間違っていることを説明できますか? (誰かがページを見たい場合は、リンクはhttp://afterlife.ddns.net/です

編集:

解決しました。フレームワークjsをレイアウトファイルにリンクする必要がありました

4

0 に答える 0