2

最新の更新の前に、たとえばこのコードを書きました

<input type="text" id="link">
<p> {{variable}} </p>
// other code
var input = query('#link');
var variable = input.value;

このコード スニペットは引き続き機能しますが、エディターがこのメッセージを報告する理由を知っている人はいますか?

"value" in not a member of Element
4

1 に答える 1

4

inputDart Editorは、 variable が のインスタンスであると考えているため、それを報告しますElement。なんで?query()常に要素を返すため、エディターはあなたのケースではそれを知ることができないため、それは(タイプのInputElement)入力です。

この警告は無視できます。IDE は、次のInputElementように指示しない限り、クエリされた結果が であることを認識できません。

InputElement input = query('#link');

または、これも機能すると思います:

var input = query('input#link');

変数が特定の型であることを期待していることを Dart ランタイムに伝えたい場合は、キャスト演算子を使用できますas。これには、予期される型をエディターに通知するという利点があり、変数が予期される型でない場合にもエラーがスローされます。

var input = query('#link') as InputElement;

asDart は動的言語であるため、他の開発者があなたの意図について混乱する可能性があると思わない限り、使用しないように注意してください。

于 2013-02-01T13:13:40.937 に答える