文本和外观绑定在 KnockoutJs 中如何工作

文本和外观绑定在 knockoutjs 中如何工作

此内容基本上是原始材料的翻译。目的是了解 magento 2 的 knockoutjs 并用葡萄牙语创建有关 knockoujs 的内容。

文档

数据绑定语法绑定上下文“可见”和“隐藏”绑定“文本”绑定“html”绑定“class”和“css”绑定“样式”绑定“attr”绑定

绑定

在 knockoutjs 中,绑定 是连接 viewmodel 逻辑(数据和业务逻辑)与 view (html) 的方式。简而言之,正是通过 绑定,用户界面自动反映数据的变化,而不需要直接操作 dom。

knockoutj 中的绑定通过 html 元素上的 data-bind 属性进行工作。您可以在该属性中指定要使用的绑定和关联值。

控制文本和外观

可见的

绑定 可见性用于根据 viewmodelobservable 的值来控制 html 元素的可见性。它允许您根据 viewmodel.
中定义的特定条件显示或隐藏元素

este parágrafo está visível se iscontentvisible for true.

当条件是类似于 false 的值(false、0、null 或 undefined)时,可见绑定将样式设置为 none,从而使其隐藏。这优先于您可以使用 css 设置的任何显示样式。

绑定 hide 用于根据 viewmodelobservable 的值隐藏 html 元素。与控制元素可见性的 *visible* 绑定不同,*hidden* 绑定会在满足指定条件时隐藏 ui 元素。

este parágrafo está oculto se iscontenthidden for true.

文本

绑定文本用于使用其viewmodel中的observable值来更新html元素的内容。它允许将 observable 的文本直接插入到 html 元素中,确保 observable 值的任何更改都会自动反映在显示的文本中。

este parágrafo exibirá o conteúdo do observable 'message'.

este parágrafo exibirá o total formatado com base no valor do observable 'totalamount'.

este parágrafo saudará o usuário com base no valor do observable 'username'.

如果此参数是一个可观察值,则只要该值发生变化,绑定就会更新元素的文本。如果参数不是observable,则只会设置元素文本一次,以后不会再次更新

如果提供的值不是数字或字符串,显示的文本将相当于 yourparameter.tostring()。

由于此绑定使用文本节点设置其文本值,因此可以安全地设置任何字符串值,而不会带来 html 或脚本注入的风险。

超文本标记语言

绑定 html 用于将动态 html 内容插入到 ui 元素中。它允许使用从 observable 生成的 html 或其 viewmodel.
的表达式来更新元素的内容

este parágrafo exibirá o conteúdo html do observable 'dynamichtml'.

knockoutjs 清除之前的内容,然后使用 jquery 的 html 函数将元素内容设置为参数值,或者将 string 解析为 html 节点并将每个节点附加为元素的子级(如果 jquery 不是)可用。

如果此参数是一个可观察,则只要值发生变化,绑定就会更新元素的内容。如果参数不是observable,则只会设置该元素的内容一次,以后不会再次更新

如果提供的值不是数字或字符串,显示的文本将相当于 yourparameter.tostring()。

班级

绑定类用于根据observable的值或其viewmodel的表达式来控制应用于html元素的css类。这允许您根据应用程序的不同条件或状态动态更改元素的 css 类。类不是合法的标识符名称,将类分配给 html 元素的正确方法是将标识符名称放在引号中,使其成为文字 string.

este parágrafo terá as classes 'active' e 'highlight' com base nos valores dos observables 'isactive' e 'shouldhighlight'.

este parágrafo terá a classe 'error' se haserror() for true, e terá a classe 'warning' se haswarning() for true.

este parágrafo terá a classe 'static-class' e 'dynamic-class' aplicadas a ele.

参数值必须是与您要添加到元素的 css 类相对应的 字符串。如果参数引用 observable,则只要值更改,绑定就会更新类,删除任何先前添加的类并添加新值的一个或多个类。

css

绑定 css 用于根据 observable 的值或其 viewmodel 的表达式动态地将 css 样式应用到 html 元素。这允许您根据应用程序的不同条件或状态更改元素的视觉样式。您可以根据相同的条件定义多个 css 类,方法是将名称括在引号中。

este parágrafo terá os estilos css 'active' e 'highlight' com base nos valores dos observables 'isactive' e 'shouldhighlight'.

este parágrafo terá o estilo 'error' se haserror() for true, e terá o estilo 'warning' se haswarning() for true.

este parágrafo terá o estilo 'static-style' e 'dynamic-style' aplicados a ele.

必须传递一个 javascript 对象,其中属性名称是您的 css 类,其值根据当时是否应应用该类而评估为 true 或 false。

如果参数引用 observable 值,则只要 observable 发生更改,绑定就会添加或删除 css 类。如果参数没有引用 observable,它只会添加或删除该类一次,并且以后不会再这样做。

风格

绑定样式用于根据observable的值或其viewmodel的表达式将内联css样式应用于html元素。这允许您根据应用程序的不同条件或状态直接内联更改元素的视觉样式。

este parágrafo terá cores e tamanhos de fonte diferentes com base nos valores dos observables 'textcolor' e 'fontsize'.

este parágrafo terá cores e tamanhos de fonte diferentes com base nos valores dos observables 'textcolor' e 'fontsize'.

este parágrafo terá largura e altura diferentes com base nos valores dos observables 'width' e 'height'.

este parágrafo terá cor de texto vermelha e cor de fundo dinâmica com base no valor do observable 'bgcolor'.

必须传递一个 javascript 对象,其中属性名称与样式名称相对应,值与要应用的样式的值相对应。

如果参数引用 observable,只要 observable 发生变化,绑定就会更新样式。如果参数没有引用 observable,它只会设置一次样式,以后不会更新它们。

如果您想应用名称不是合法 javascript 标识符的样式(因为它包含连字符或类似内容),您可以将其括在引号中或使用带有 camelcase 的名称风格。

{ ‘字体粗细’: somevalue }{ fontweight: somevalue }如果您将简单的数值应用于需要单位的样式,knockoutjs 会在设置样式之前将 px 附加到该值。

属性

绑定属性用于根据observableviewmodel表达式的值设置或更新元素上的html属性。这允许您根据应用程序的不同条件或状态动态更改 html 元素的属性。

@@##@@ Clique aqui
...

必须传递一个 javascript 对象,其中属性名称与属性名称相对应,值与要应用的属性的值相对应。

如果参数引用

observable,则只要 observable 更改,绑定就会更新属性。如果参数没有引用 observable,它只会设置该属性一次,以后不会更新。

以上就是文本和外观绑定在 KnockoutJs 中如何工作的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1497216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 19:17:32
下一篇 2025年12月19日 19:17:43

相关推荐

  • 开发日记:Word Rush

    体验终极多人文字游戏:Word Rush! 准备好挑战好友,检验你的词汇量了吗?立即加入 word rush,一款令人兴奋的实时多人文字游戏!基于 next.js 构建,word rush 提供快节奏的乐趣,适合所有年龄段的玩家。无论是词汇达人还是休闲玩家,都能在 word rush 中找到刺激和乐…

    2025年12月19日
    000
  • 前端开发人员必备指南

    优秀的前端开发者是用户体验的守护者,他们打造的不仅仅是赏心悦目的界面,更要关注幕后技术细节。本文将分享15个前端开发人员必须掌握的关键概念,助您构建高效、稳定的网页应用。 DNS (域名系统) 您是否想过如何通过输入example.com访问网站?DNS如同互联网的电话簿,将易于记忆的域名转换为IP…

    2025年12月19日
    000
  • 用于实时协作的新 JavaScript 框架、Bun 更新修复了错误等

    大家好,JavaScript 爱好者们! 欢迎来到本周 JavaScript 新闻的又一期! 本周亮点包括:全新的 JavaScript 框架、Bun 的重大更新(修复了 40 多个 bug)、一些 TypeScript 配置技巧,以及来自 Electron、Puppeteer 等工具的最新消息。让…

    2025年12月19日
    000
  • 动画与新标志解锁!!!!

    Interactive Channel Logo body { margin: 0; display: flex; justify-content: center; align-items: center; height: 100vh; background: linear-gradient(135…

    2025年12月19日
    000
  • Vuejs 还是 Nuxtjs?

    选择 Vue.js 还是 Nuxt.js? 这取决于您的项目需求。Vue.js 是一个易于使用的 JavaScript 框架,提供构建用户界面的强大工具集。而 Nuxt.js 基于 Vue.js,并增加了服务器端渲染、静态站点生成等高级功能,简化了开发流程。让我们深入了解两者,助您做出最佳选择。 V…

    2025年12月19日
    000
  • JavaScript 的历史

    在90年代,Netscape Navigator 统治着互联网浏览器市场。当时的网站仅依靠HTML和CSS构建,缺乏交互性,即使简单的计算也需要服务器端的支持。正是在这种背景下,JavaScript诞生了。 Netscape创始人Marc Andreessen 为了增强浏览器交互能力,决定开发一种浏…

    2025年12月19日
    000
  • HTMX:Web 的未来

    htmx 在前后端开发中的应用:告别 json,拥抱高效的 html 交互 最近我一直在开发一个 SaaS 网站,前端使用 HTMX 和 Tailwind CSS,后端则使用 Python 和 Flask。HTMX 是我新尝试的工具,本文将分享我在 Web 应用中集成 HTMX 的经验。 JSON …

    2025年12月19日
    000
  • 值得关注的 CMS 趋势

    内容管理系统 (cms) 诞生至今已有二十余年,其发展始终紧跟互联网的步伐,不断满足人们对便捷建站和高效更新内容日益增长的需求。20世纪90年代中期,interwelt和filenet等专有系统曾引领风潮,但进入21世纪初,wordpress、drupal和joomla等开源cms平台的出现彻底改变…

    2025年12月19日
    000
  • 使用 React 进行现代 Web 开发:完整指南

    构建优雅高效的 Web 应用,如同搭建精妙的乐高杰作,这就是 React JS 的魅力所在——可复用的组件组合,打造动态交互的用户界面。 React JS 彻底改变了 Web 开发,但精通其复杂性并非易事。 状态管理的挑战: 维护应用数据井然有序,如同刀尖上跳舞。样式的难题: 创建美观且响应迅速的 …

    2025年12月19日
    000
  • 将 Starlight 转换为 PDF:经验和见解

    想象一下您收到一项任务:在一周内创建一个新的文档网站。它应该具有视觉吸引力、快速且易于导航。您会收到一堆 *.docs 文件、图像和屏幕截图,以及“完成它”. 的说明 有很多优秀的工具可供选择,例如docusaurus、nextra、vitepress、docus等等。之前,我在使用 starlig…

    2025年12月19日
    000
  • 更快学习 JavaScript 的项目(即使您是初学者)

    让我们开门见山 – 通过阅读无休止的教程和文档来学习 javascript 可能会让人感到无聊。 相信我,我从经验中知道。我花了很多时间复制和粘贴代码片段,但没有掌握发生了什么。 然后我发现了一些改变一切的事情:构建真实的项目是提高 javascript 技能的最快方法。 事情是这样的 …

    好文分享 2025年12月19日
    000
  • 自定义您的复选框:使用 Tailwind CSS 轻松更改强调颜色!

    tailwind css 提供便捷的方式自定义项目中复选框等元素的强调色。 利用 accent-* 等实用类,轻松调整表单控件的强调色。例如,想在选中复选框时改变颜色,只需添加 accent-blue-600 类,即可应用蓝色强调色。以下是一个 react 组件示例: handleRolesSele…

    2025年12月19日
    000
  • JavaScript 仍然相关吗?

    JavaScript 作为构建交互式网页的先锋语言,已走过数十年历程。从简单的动画到复杂的 Web 应用,它支撑着当今互联网体验的核心。然而,面对层出不穷的新技术、框架和编程语言,JavaScript 的未来走向如何?2025 年及以后,它是否依然占据一席之地? 答案是肯定的:JavaScript …

    2025年12月19日
    000
  • 芝加哥视频制作网站需要 CSS 和 JavaScript 帮助

    大家好, 我正在为一家芝加哥视频制作公司构建网站,并寻求 CSS 和 JavaScript 方面的帮助,以提升网站的设计和功能。目标是打造一个美观且用户友好的网站,展示公司的视频制作服务,包括企业宣传片、航拍和活动报道等。 我需要以下方面的帮助: CSS 设计: 寻求创建动态主页的 CSS 技巧,实…

    2025年12月19日
    000
  • 让我们创建一个随机颜色生成器!

    还在为JavaScript入门学习而苦恼吗?掌握数据类型、逻辑和函数等基础知识后,是不是跃跃欲试,想将技能付诸实践?别担心,本文将带你轻松构建一个随机颜色生成器,开启你的JS实战之旅! 1. HTML框架搭建 首先,我们需要一个基本的HTML框架。使用VS Code,你可以在空HTML文档中输入“!…

    2025年12月19日
    000
  • 可用于 Web 应用程序的动画库

    动画库速览:七款javascript动画工具推荐 本文将介绍七款常用的JavaScript动画库,它们各有特色,能满足不同Web开发动画需求。 GreenSock动画平台 (GSAP) GSAP是一个功能强大的JavaScript库,用于创建各种Web动画。它支持SVG、UI元素、文本和WebGL动…

    2025年12月19日 好文分享
    000
  • 使用 React 和 TailwindCSS 重新创建 Interswitch 主页

    项目概述 构建一个现代且美观的登录页面始终是一项极具挑战性的任务。本项目使用 React 和 Tailwind CSS 重新创建了 Interswitch 的主页,旨在提供一个技术演练,涵盖从项目设置到可重用组件实现和样式化的整个过程。 Vite 项目搭建 鉴于其极快的构建速度和简易性,Vite 被…

    2025年12月19日
    000
  • Shadow DOM 完美版:体验怪物的力量

    shadow dom:构建现代化、高性能web组件的关键 Shadow DOM是现代HTML引擎中一项令人振奋的特性,它能够更好地封装和保护组件的内部实现细节,从而提升代码的可维护性和整洁度。我们坚信其重要性,并将其作为构建JavaScript库的核心原则。 我们的库基于此原则,提供一系列功能强大的…

    2025年12月19日
    000
  • Nodejs 现在支持 TypeScript、JavaScript 新星报告已发布、新的开发人员工具等等

    大家好,JavaScript爱好者们! 欢迎来到本周的“JavaScript周刊”! 本周有哪些亮点呢? Node.js原生支持TypeScript,Shadcn/ui在JavaScript新星中脱颖而出,我们还有新的导入属性,以及2025年开发者必须掌握的工具! 立即学习“Java免费学习笔记(深…

    2025年12月19日
    000
  • 使用样本收据打印 HTML 最佳技术

    本文分享使用 JavaScript 和 Tailwind CSS 打印发票的最佳实践,总结了多次尝试后的经验。 Tailwind CSS 配置 (可选) 若使用 Tailwind CSS 设计发票样式,建议配置如下,以便使用 print 和 screen 前缀来控制不同媒体下的显示内容: /** @…

    2025年12月19日
    000

发表回复

登录后才能评论
关注微信