返回顶部
首页 > 资讯 > 前端开发 > node.js >Knockout基本语法有哪些
  • 716
分享到

Knockout基本语法有哪些

2024-04-02 19:04:59 716人浏览 薄情痞子
摘要

本篇内容介绍了“Knockout基本语法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 Hello

本篇内容介绍了“Knockout基本语法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1 Hello world

这个例子里,2个输入框都被绑定到data model上的observable变量上。“full name”显示的是一个dependent observable,它的值是前面2个输入框的值合并一起的结果。

Knockout基本语法有哪些

无论哪个输入框更新,都会看到“full name” 显示结果都会自动更新。查看html源代码可以看到我们不需要声明onchange事件。Knockout知道什么时候该更新UI。

代码: View

<p>First name: <input data-bind="value: firstName"/></p> <p>Last name: <input data-bind="value: lastName"/></p> <h3>Hello, <span data-bind="text: fullName"> </span>!</h3>

代码: View model

// 这里是声明的view model   var viewModel = {      firstName: ko.observable("Planet"),      lastName: ko.observable("Earth")  };   viewModel.fullName = ko.dependentObservable(function () {      // Knockout tracks dependencies automatically.       //It knows that fullName depends on firstName and lastName,                 //because these get called when evaluating fullName.      return viewModel.firstName() + " " + viewModel.lastName();  });   ko.applyBindings(viewModel); // This makes Knockout get to work

2 Click counter

这个例子展示的创建一个view model并且绑定各种绑定到HTML元素标记上,以便展示和修改view model的状态。

Knockout根据依赖项。在内部,hasClickedTooManyTimes在numberOfClicks上有个订阅,以便当numberOfClicks改变的时候,强制hasClickedTooManyTimes重新执行。相似的,UI界面上多个地方引用hasClickedTooManyTimes,所以当hasClickedTooManyTimes 改变的时候,也讲导致UI界面更新。

不需要手工声明或者订阅这些subscription订阅,他们由KO框架自己创建和销毁。参考如下代码实现:

Knockout基本语法有哪些

代码: View

<div>You've clicked <span data-bind="text: numberOfClicks">&nbsp;</span> times</div>    <button data-bind="click: reGISterClick, enable: !hasClickedTooManyTimes()">Click me</button>    <div data-bind="visible: hasClickedTooManyTimes">     That's too many clicks! Please stop before you wear out your fingers.      <button data-bind="click: function() { numberOfClicks(0) }">Reset clicks</button> </div>

代码: View model

var clickCounterViewModel = function () {      this.numberOfClicks = ko.observable(0);        this.registerClick = function () {          this.numberOfClicks(this.numberOfClicks() + 1);      }        this.hasClickedTooManyTimes = ko.dependentObservable(function () {          return this.numberOfClicks() >= 3;      }, this);  };   ko.applyBindings(new clickCounterViewModel());

3 Simple list

这个例子展示的是绑定到数组上。

注意到,只有当你在输入框里输入一些值的时候,Add按钮才可用。参考下面的HTML代码是如何使用enable 绑定。

Knockout基本语法有哪些

代码: View

<fORM data-bind="submit: addItem">     New item:      <input data-bind='value: itemToAdd, valueUpdate: "afterkeydown"' />     <button type="submit" data-bind="enable: itemToAdd().length > 0">Add</button>     <p>Your items:</p>     <select multiple="multiple" width="50" data-bind="options: items"> </select> </form>

代码: View model

var viewModel = {};  viewModel.items = ko.observableArray(["Alpha", "Beta", "Gamma"]);  viewModel.itemToAdd = ko.observable("");  viewModel.addItem = function () {      if (viewModel.itemToAdd() != "") {          viewModel.items.push(viewModel.itemToAdd());          // Adds the item. Writing to the "items" observableArray causes any associated UI to update.           viewModel.itemToAdd("");                            // Clears the text box, because it's bound to the "itemToAdd" observable      }  }   ko.applyBindings(viewModel);

4 Better list

这个例子是在上个例子的基础上添加remove item功能(multi-selection)和排序功能。 “remove”和“sort”按钮在不能用的时候会变成disabled状态(例如,没有足够的item来排序)。

参考HTML代码是如何实现这些功能的,另外这个例子也展示了如何使用匿名函数来实现排序。

Knockout基本语法有哪些

代码: View

<form data-bind="submit:addItem">     Add item: <input type="text" data-bind='value:itemToAdd, valueUpdate: "afterkeydown"' />     <button type="submit" data-bind="enable: itemToAdd().length > 0">Add</button> </form>  <p>Your values:</p> <select multiple="multiple" height="5" data-bind="options:allItems, selectedOptions:selectedItems"> </select>  <div>     <button data-bind="click: removeSelected, enable: selectedItems().length > 0">Remove</button>     <button data-bind="click: function() { allItems.sort() }, enable: allItems().length > 1">Sort</button> </div>

代码: View model

// In this example, betterListModel is a class, and the view model is an instance of it.   // See simpleList.html for an example of how to construct a view model without defining a class for it. Either technique works fine.   var betterListModel = function () {      this.itemToAdd = new ko.observable("");      this.allItems = new ko.observableArray(["Fries", "Eggs Benedict", "Ham", "Cheese"]);   // Initial items   this.selectedItems = new ko.observableArray(["Ham"]);                                  // Initial selection        this.addItem = function () {          if ((this.itemToAdd() != "") && (this.allItems.indexOf(this.itemToAdd()) < 0))      // Prevent blanks and duplicates          this.allItems.push(this.itemToAdd());          this.itemToAdd(""); // Clear the text box      }        this.removeSelected = function () {          this.allItems.removeAll(this.selectedItems());          this.selectedItems([]); // Clear selection      }  };   ko.applyBindings(new betterListModel());

“Knockout基本语法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Knockout基本语法有哪些

本文链接: https://lsjlt.com/news/86810.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Knockout基本语法有哪些
    本篇内容介绍了“Knockout基本语法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 Hello...
    99+
    2024-04-02
  • mysql有哪些基本语法
    下面讲讲关于mysql有哪些基本语法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql有哪些基本语法这篇文章你一定会有所受益。      &...
    99+
    2024-04-02
  • HTML基本语法有哪些
    这篇文章主要介绍“HTML基本语法有哪些”,在日常操作中,相信很多人在HTML基本语法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTML基本语法有哪些”的疑惑有所帮...
    99+
    2024-04-02
  • Scala基本语法有哪些
    本篇内容介绍了“Scala基本语法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!你好 HelloScala......object&n...
    99+
    2023-06-02
  • python基本语法有哪些
    python 基础语法包含:数据结构:包括整数、浮点数、字符串等操作符:用于算术、逻辑和比较操作语句:如赋值、条件和循环语句变量:用于存储值,以小写字母或下划线开头缩进:用于表示代码块的...
    99+
    2024-04-20
    python
  • python的基本语法有哪些
    python基本语法总结:标识符1).python中标识符由字母、数字、下划线组成。2).python中标识符可以包括英文、数字以及下划线(_),但不能以数字开头。数据类型python有Numbers、String、List、Tuple、D...
    99+
    2024-04-02
  • TypeScript基本的语法有哪些
    本篇内容主要讲解“TypeScript基本的语法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“TypeScript基本的语法有哪些”吧!前端那么多酷炫的东西,真是太好玩了。但是,JavaS...
    99+
    2023-06-16
  • Kotlin 中基本语法有哪些
    这篇文章将为大家详细讲解有关Kotlin 中基本语法有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。基本语法示例实例代码:package com.stone.basic.syntaxcl...
    99+
    2023-05-31
    kotlin
  • docker compose基本语法有哪些
    今天小编给大家分享一下docker compose基本语法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。先来看一份 d...
    99+
    2023-07-05
  • R语言中有哪些基本语法
    本篇文章为大家展示了R语言中有哪些基本语法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。基本数据类型数据类型向量 vector矩阵 matrix数组 array数据框 data frame因子 fa...
    99+
    2023-06-14
  • go语言的基本语法有哪些
    Go语言的基本语法主要包括以下几个方面:1.包声明:每个Go程序都是由包组成的,使用关键字"package"来声明包名。2.引入包:...
    99+
    2023-09-21
    go语言
  • C语言的基本语法有哪些
    C语言的基本语法包括以下内容:1. 注释:用来给代码添加说明和解释,包括单行注释(以"//"开头)和多行注释(以""结尾)。2. 标...
    99+
    2023-08-08
    C语言
  • flex布局基本语法有哪些
    这篇“flex布局基本语法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“flex布局...
    99+
    2024-04-02
  • python基本语法规则有哪些
    python 的基本语法规则包括:使用缩进来定义代码块。使用变量存储数据,并通过 = 赋值运算符赋值。支持多种数据类型,如数字、字符串和列表。提供算术、关系、逻辑和赋值运算符。使用控制流...
    99+
    2024-04-20
    python 键值对
  • javascript语法的基本要素有哪些
    今天小编给大家分享一下javascript语法的基本要素有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2024-04-02
  • HTML表格的基本语法有哪些
    这篇文章主要介绍“HTML表格的基本语法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML表格的基本语法有哪些”文章能帮助大家解决问题。表格的基本语法&l...
    99+
    2024-04-02
  • C#基本的语法字符有哪些
    本篇内容主要讲解“C#基本的语法字符有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#基本的语法字符有哪些”吧!C#正则表达式之基本的语法字符\d  0-9的数字\D ...
    99+
    2023-06-17
  • HTML5的基本特性和语法有哪些
    今天小编给大家分享一下HTML5的基本特性和语法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • Sqlite数据库的基本语法有哪些
    本篇内容主要讲解“Sqlite数据库的基本语法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Sqlite数据库的基本语法有哪些”吧!一、安装既然要学Sql...
    99+
    2024-04-02
  • jquery选择器的基本语法有哪些
    jQuery选择器的基本语法有以下几种:1. 元素选择器:通过元素标签名选取元素,使用`$("element")`的形式,例如`$(...
    99+
    2023-08-18
    jquery
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作