KnockoutJs 系列(1)-observableArray
KnockoutJs 簡介
Knockout 是一個JavaScript函式庫,它使用一種清晰的資料模型協助您建立更豐富的使用者互動介面(UI).任何時間您需要動態的更新您UI的部分,例如:當使用者執行了一個動作或外部資料來源有所異動,『KO』 可以幫您簡化並實踐。(註:KO = Knock Out)
其他角度看Knockoutjs,您可以把它想成:提供一個簡單的方法讓UIs編輯JSON Data,今天我們要來實現的是陣列:
首先,先載入Jquery 和knockoutJs
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-debug.js"></script>
接著 <script>中放入資料陣列,一個陣列只有人名(userArray1),一個陣列包含json資料(userArray2)。
ko.observableArray() 是knockoutjs的陣列方法,然後要實現這個方法不可或缺的是使用
ko.applyBindings();
<script> var userArray1 = ko.observableArray([ 'Duke', 'Elton', 'Greg' ]); var userArray2 = ko.observableArray([ { firstName: 'Abel', lastName: 'Smith' }, { firstName: 'Bill', lastName: 'Johnson' }, { firstName: 'Chester', lastName: 'Davis' } ]); ko.applyBindings(); </script>
然後在html將資料展現出來:
綁定陣列:
data-bind="foreach:userArray1"
陣列裡面的細項:
data-bind="text: $data"
陣列中json的中的指定值:
data-bind="text: firstName"
HTML:
<h1>User List</h1> <ul data-bind="foreach:userArray1"> <li data-bind="text: $data"></li> </ul> <table> <thead> <tr> <th>First name</th> <th>Last name</th> </tr> </thead> <tbody data-bind="foreach: userArray2"> <tr> <td data-bind="text: firstName"></td> <td data-bind="text: lastName"></td> </tr> </tbody> </table>
結果如下:
以上是關於Knockout 函式庫應用的分享,更多電商營運知識,別忘了訂閱我們的電子報,以及追蹤我們的Facebook粉絲專頁!
延伸閱讀:
我要留言