2016-09-21 5 views
0

私がやろうとしていることを達成するためのAureliaの方法はありますか?私がaddをクリックすると、入力を0に戻したい。ここでapp.jsが、私は彼らに囲まれた2つのウェイを持っていたオーレリアを考えて、空の文字列に戻ってvar helloを設定しようとしたAureliaでフォーム提出後に入力をクリアする方法

​​

ファイルです。しかし、私はあなたが関数内で変数を変更/操作したいと思うかもしれないので、それは愚かだと思ったので、ユーザーには見せたくないので、空の文字列に戻る設定はうまくいかないでしょう。ここにhtmlがあります。

<form submit.trigger="addToArray()"> 
    <input type='text' value.bind="hello"> 
    <input type='submit' value="add"> 
    </form> 

    <ul> 
     <li repeat.for="a of array">${a}</li> 
     </ul> 
+1

境界があると分かります。ここでの簡単な答えは、 'this.hello =" "'を使う必要がありました。変数を操作したいのであれば、関数内の別の変数と同じ値に設定する必要があります。 –

+0

あなた自身の質問に対する答えとして 'hello'の前に' this.'を使用するのを忘れていたと思いますか?私はそれがそのような共通の問題であるので、アップヴォートを与えます。 –

答えて

0

これは、境界になっていることが判明しました。ここで簡単な答えは、私が使用する必要がありますthis.hello = ""

潜在的に、モデルは、関数が実行されるまで更新されませんでした、私の推測これはどのように動作します。関数の終わりにユーザフレンドリーな何かにバインドされた変数が設定されている限り、実行中に値を変更しても問題ありません。

+0

はい、AureliaのネイティブDOM入力コントロールに変数をバインドすると、変数は慣習によって2つの方法でバインドされます(これは、必要に応じてvalue.one-way = "hello"を使用して変更できます)。しかし、ネイティブのDOMコントロールである変数に変数をバインドする場合、変数は慣習によって一方向にバインドされます(value.twowayを使用して双方向バインドするか、またはコンポーネント内でデフォルトの双方向バインディングを指定します)。あなたは拘束力があります)。 – pQuestions123

関連する問題