我正在创建一个Web应用程序(服务器渲染,而不是SPA),但是具有一些客户端功能,当其他元素具有某些值时,这样的隐藏元素,进行HTTP调用或验证一些输入字段。
现在,我使用WebComponents(纸质元素和其他人)制作用户界面,使用Vanilla JavaScript(带有一些Polyfill,如WebComponents.js或fetch.js)来实现这一功能。
然而,到目前为止,我已经意识到我有许多JavaScript行可以做(比如在不满足条件时隐藏输入字段),可以通过像Vue.js这样的框架减少(甚至删除)和带有指令的表达式HTML。
我的问题是,当我尝试将Vue.js与纸质元素或其他元素一起使用时,像v-model
这样的Vue.js指令不起作用(甚至纸质元素值属性为{ {1}}与标准HTML元素一样。)
我尝试使用value
代替:value
,这样做有效,但只有单向数据绑定(这在v-model
中是正常的)但我需要双向数据绑定v-bind
和paper-elements
无法正常工作。
一个想法可以是,使用冒号(v-model
的简写)来表示单向数据绑定(例如v-bind
),使用两个冒号来表示任何属性中的双向数据绑定(在某些WebComponents中,在:disabled="someCondition"
之外的其他HTML属性中执行此操作非常有用(例如value
)。
有人知道任何带有表达式HTML的框架,比如Vue.js,它实现数据绑定(在任何html属性中都是双向的)和基本控制结构(如::value
和v-if
)或者做两种方式的数据使用Vue.js绑定任何HTML属性(更简单的说,使用纸质元素进行v模型)。
我不知道让WebComponents使用Vue.js,因为我使用Polymer来做到这一点。
谢谢!
答案 0 :(得分:1)
你可以用VueJs做
:value="value" @input="value = $event.target.value"
而不是v-model="value"
答案 1 :(得分:0)
是的,可以用aurelia来做到这一点:
{
"OriginalText": "My email is someone@address.com phone at 999-999-9999 staying at 99999 99th Avenue City WA, 99999",
"NormalizedText": "My email is someone@address.com phone at 999-999-9999 staying at 99999 99th Avenue City WA, 99999",
"Misrepresentation": null,
"PII": {
"Email": [
{
"Detected": "someone@address.com",
"SubType": "Regular",
"Text": "someone@address.com",
"Index": 12
}
],
"IPA": [],
"Phone": [
{
"CountryCode": "US",
"Text": "999-999-9999",
"Index": 50
}
],
"Address": [
{
"Text": "99th Avenue City WA, 99999",
"Index": 80
}
]
},
"Language": "eng",
"Terms": null,
"Status": {
"Code": 3000,
"Description": "OK",
"Exception": null
},
"TrackingId": "xxxxxxxxxxxxxxx"
}