蓝河 BlueOS Studio——input绑定数据

举报
红目香薰 发表于 2024/06/30 20:06:43 2024/06/30
【摘要】 ​input绑定数据遇到的问题 虽然是一个很简单的功能,但是不能用本地测试,这时候就会出现问题,我在这个问题上卡了一阵子,很是不舒服,写出来,让大家引以为戒,节约大家的时间。<input type="text" model:value="{{info}}" placeholder="请输入参数"/><text class="title">{{ info }}</text>  private:...


input绑定数据遇到的问题 

虽然是一个很简单的功能,但是不能用本地测试,这时候就会出现问题,我在这个问题上卡了一阵子,很是不舒服,写出来,让大家引以为戒,节约大家的时间。

<input type="text" model:value="{{info}}" placeholder="请输入参数"/>
<text class="title">{{ info }}</text>

  private: {
    title: '下面的input输入的信息理论上要单独的显示',
    info:''
  }, 

http://192.168.1.8:8080/

访问后可以看到对应的【调试器】打开web预览。

​编辑下面就是具体的示例,但是没有绑定上。

​编辑

解决方案

上面的示例中我们用的是浏览器测试的,结果是没有双向绑定成功,我就一直在找问题,后来特别难受的找不到,无意的用服务器跑了一下,发现,数据是可以呈现的。

真机效果:

​编辑

可以看到我们已经绑定成功了呢。

vue双向绑定原理

双向数据绑定的原理:

采用“数据劫持”结合“发布者-订阅者”模式的方式,通过【object.defineproperty()】方法来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

​编辑

模型(Model)表示应用程序的数据和业务逻辑。这可以是从后端API获取的数据,或者在前端应用程序内部定义的数据。
视图(View)是用户界面的可见部分,通常以HTML模板的形式存在。它负责将数据呈现给用户,并处理用户的输入事件。
视图模型(ViewModel)是模型和视图之间的中间层,它负责管理视图所需的数据,并处理视图中发生的事件。视图模型通过双向数据绑定将模型的状态与视图保持同步。

MVVM即是【Model-View-ViewModel】,它是一种设计模式,用于实现用户界面的分离和交互。

View中视图变化,通过ViewModel中的监听器反馈给model进行数据的更新。

Model中数据的变化,通过ViewModel中的解析器反馈给View进行视图的更新。

vivo 发布自研操作系统蓝河 (BlueOS),系统框架采用 Rust 编写

Rust 是一种系统编程语言,由 Mozilla 开发和维护,最初由 Graydon Hoare 开发,并在 2009 年被 Mozilla 赞助。Rust 语言的设计目标是提供一种安全、高效、并发的编程语言,同时保持语言的简单性和易用性。Rust 语言的特点包括内存安全性、类型安全、并发安全等,能够避免常见的内存安全问题,如空指针引用、缓冲区溢出等。Rust 语言的并发性强,提供了一些并发编程的原语,例如通道和锁,使得编写高效的并发程序更加容易。Rust 语言的高性能是由其内存安全性和并发性强所决定的,它可以有效地优化程序的性能并提高程序的执行效率。

蓝河操作系统采用 Rust 编写「系统框架」——从源头避免了内存使用不当引起的安全漏洞。据称是行业首家。

​编辑


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。