「Knockout.js/textバインディング」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | [[Knockout | + | [[Knockout]]の'''text'''バインディングとは、パラメーターの値に応じて関連付けられたDOM要素内のテキストを書き換える。 |
− | + | 通常はspanやemといった要素の内容を書き換えるのに使うものだが、技術的には任意の要素で使用できる。 | |
− | |||
− | |||
− | |||
− | |||
== パラメーター == | == パラメーター == | ||
− | + | Knockoutは、関連付られたDOM要素内のテキスト(IEであればinnerText、FirefoxであればtextCotnentの値)を、パラメーターの値で上書きする。 | |
− | このパラメーターが[[Knockout | + | このパラメーターが[[Knockout/observable]]の場合は、値を更新するたびにテキストも更新する。パラメーターがobservableでない場合はバインディング適用時(Knockout/applyBindings実行時)に1回だけ更新されて以降は更新されない。 |
パラメーターの値の[[型]]が数値(number型)または文字列(string型)の場合はそのものを、それ以外の場合はtoString()メソッドを実行した結果でテキストを上書きする。 | パラメーターの値の[[型]]が数値(number型)または文字列(string型)の場合はそのものを、それ以外の場合はtoString()メソッドを実行した結果でテキストを上書きする。 | ||
16行目: | 12行目: | ||
== 使用例 == | == 使用例 == | ||
=== hello world === | === hello world === | ||
− | + | 「[[hello, world]]」はこんな感じ。 | |
<source lang="html5"> | <source lang="html5"> | ||
<!DOCTYPE html> | <!DOCTYPE html> | ||
28行目: | 24行目: | ||
<script type="text/javascript"> | <script type="text/javascript"> | ||
jQuery(function() { | jQuery(function() { | ||
− | // | + | // モデル |
var AppViewModel = function() { | var AppViewModel = function() { | ||
this.message = ko.observable("hello, world"); | this.message = ko.observable("hello, world"); | ||
45行目: | 41行目: | ||
=== HTMLの使用 === | === HTMLの使用 === | ||
− | + | textバインディングのパラメーターにHTMLを書いてもそのままの文字列として表示される(HTMLエスケープされた文字列が表示される)。HTMLで上書きしたい場合は[[Knockout/html]]バインディングを使用する。 | |
=== 式の使用 === | === 式の使用 === | ||
textバインディングには簡単な式が使える。 | textバインディングには簡単な式が使える。 | ||
− | 式に関する詳細は[[Knockout | + | 式に関する詳細は[[Knockout]]の項目を参照。 |
[[3項演算子]]の使用例。 | [[3項演算子]]の使用例。 | ||
80行目: | 76行目: | ||
== 関連項目 == | == 関連項目 == | ||
− | * [[Knockout | + | * [[Knockout]] |
− | |||
− | |||
− | |||
== 参考文献 == | == 参考文献 == | ||
<references/> | <references/> |