Оригинальная ссылка:Tickets.WeChat.QQ.com/Yes/6v Harem 6 Old Q7V…
Xijiangyue · Тайцзи не разделен на хаос
[юань] Ван Вэйи
Тайцзи не делится на хаос, и два инструмента больше не являются одним из них.
Только один ян может прорваться через Хунмэн, и таким образом используется удача.
Вода и огонь поднимаются и опускаются с севера на юг, а дерево и золото расходятся с запада на восток.
Слегка переместите ручку ковша, чтобы она указывала на Дворец Кун, и сделайте пять элементов замысловатыми.
С момента появления Angular.js он принес миру интерфейсMVVM(Model-View-ViewModel)Angular.js также предлагает еще одну популярную концепцию: двустороннюю привязку данных, которая в основном отражается в связи контента между элементами управления формы и другими элементами управления, даже если в дополнение к Vue другие популярные фреймворки (React, Augular2.0 и более поздние версии) не поддерживаются. больше не имеют синтаксического сахара для двусторонней привязки данных, но вактуальный проект, все фронтенд-разработчики будут реализовывать эту функцию.
Фреймворк JS-приложений ОС Hongmeng по-прежнему использует метод веб-разработки, похожий на небольшую программу.форма однонаправленного потока данныхПодключение переменных JS-скрипта и интерфейс, реализованный языками разметки (html, wxml, hml), поэтому независимыйДостижение двусторонней привязки данных стало темой, которой нельзя избежать.
Сегодня я реализую двустороннюю привязку данных при разработке приложений для ОС Hongmeng, кстати, заполню некоторые пробелы и начну с основного кода.
Код index.hml выглядит следующим образом:
<div class="container">
<text class="title">
{{title}}
</text>
<!-- 坑点1:官方文档给出的事件属性都没有on前缀,实际使用自己要加上:onclick、onchange等 -->
<!-- 坑点2:穿戴设备不支持input单行文本;只有TV项目支持;-->
<input type="text" onchange="chageModel"
value="{{title}}"
style="width:300px;height:50px;color:blue;background-color:#fff"/>
<!-- input控件属性:type="text" 指定为单行文本控件 -->
<!-- input控件属性:value="{{title}}" 文本框值绑定js脚本变量title -->
<!-- input控件属性:onchange="chageModel" 文本框内容改变触发自定义函数chageModel -->
<!-- input控件属性:style="..." 行内样式属性与CSS基本相同 -->
</div>
Код index.js выглядит следующим образом:
export default {
data: {
title: "", //js脚本变量title
},
onInit() {
this.title = "鸿蒙OS双向数据绑定";
},
chageModel(val_obj){
//obj是事件对象,官方文档有坑
console.info("info信息:"+JSON.stringify(val_obj));
console.log("log信息:"+JSON.stringify(val_obj));
//坑点3:console.log和console.info都不能打印对象,要通过JSON.stringify转化;
//坑点4:valobj的取值属性是text;
this.title = val_obj.text;
//UI框架是单向数据流,要事件驱动完成双向数据绑定
}
}
Реализованный код очень прост, в основном заполняя 4 ямы:
1. Приведено в официальной документацииНи одно из свойств события не имеет префикса on, фактическое использование должно добавить: onclick, onchange и т. д.
- Носимое устройство не поддерживает ввод одной строки текста., этот официальный документ не упоминает;
3. Ни console.log, ни console.info не могут печатать объекты,Для конвертации с помощью JSON.stringify;
4. Атрибут value параметра объекта события onchange valobj является текстовым, а форма объекта, заданная на официальном сайте, — { value: inputValue }, о чем можно судить, распечатав объект;
Эти ямы не очень большие, и студенты с опытом разработки в принципе могут их быстро заполнить.Также вы можете прочитать и сослаться на официальную витрину кейсов.
Прикрепить ссылку на документацию:
Справочная документация компонента ввода:
developer.harmony OS.com/talent/docs/doc…
Официальный код витрины:
Открой Harmony.git ee.com/open Harmony...
Прикрепите Console.log и Console.info Скриншоты консоли печати:
Оригинальная ссылка:Tickets.WeChat.QQ.com/Yes/6v Harem 6 Old Q7V…