首页
IT
登录
6mi
u
盘
搜
搜 索
IT
数据双向绑定练习demo
数据双向绑定练习demo
xiaoxiao
2021-03-25
124
<
script
>
var
text = {};
function
del_ff
(elem)
{
var
elem_child = elem.childNodes;
for
(
var
i=
0
; i<elem_child.length;i++){
if
(elem_child[i].nodeName ==
"#text"
&& !
/\s/
.test(elem_child.nodeValue)){ elem.removeChild(elem_child[i]); } }
return
elem_child; } text.watcher={ last:
""
, set:
function
(id,val)
{
var
child = document.getElementById(
"testDemo"
); child =del_ff(child); text.watcher.last = val;
for
(
var
i=
0
;i<child.length;i++){
if
(child[i].getAttribute(
"ng-val"
)===id){
if
(child[i].tagName===
"INPUT"
){ child[i].value=val; }
else
{ child[i].innerHTML = val; } } } } }
Object
.defineProperty(text.watcher,
"value"
, { set:
function
(data)
{
text.watcher.set(
"text"
,data) } }); window.onload =
function
()
{
text.watcher.value=
2
;
var
input = document.getElementById(
"input"
); input.addEventListener(
"change"
,apply,
false
);
function
apply
()
{
var
id = input.getAttribute(
"ng-val"
);
var
val = input.value;
if
(
eval
(id).watcher.last != val){
eval
(id).watcher.set(id,val); } } }
</
script
>
<
body
>
<
div
id
=
"testDemo"
>
<
input
id
=
"input"
ng-val
=
"text"
/>
<
p
ng-val
=
"text"
>
</
p
>
</
div
>
</
body
>
转载请注明原文地址: https://ju.6miu.com/read-10476.html
技术
最新回复
(
0
)