baidu / san

A fast, portable, flexible JavaScript component framework
https://baidu.github.io/san/
MIT License
4.73k stars 551 forks source link

双向绑定不支持多级使用[]访问属性的方式 #784

Closed jingxin2015 closed 1 week ago

jingxin2015 commented 2 months ago

{=a.b.c=} 是可以正常使用的,但是换成{=a['b']['c']=} 就直接报错了,但是一级是可以的,比如{=a['b']=} 是可以双向绑定的,建议两种属性访问支持保持一致,谢谢。

jingxin2015 commented 1 month ago

@errorrik 这算是bug吗?

errorrik commented 1 week ago

我试了没问题。能贴代码看看?

我的尝试代码是

var MyComponent2 = san.defineComponent({
    template: `<div><input value="{=a['b']['c']=}" /></div>`,
});

var myComponent2 = new MyComponent2({
    data: {
        a: {
            b: {
                c: 'hello'
            }
        }
    }
});
myComponent2.attach(wrap);
errorrik commented 1 week ago
1bba1c17c9c7ffb56c96f17b1

按理是不会有区别的

jingxin2015 commented 1 week ago

1bba1c17c9c7ffb56c96f17b1 按理是不会有区别的

我又测试了下也没复现这个问题,我清晰的记得当时我还单独测试了下,而且是报了脚本错,现在复现不了了,先关了吧,如果下次遇到了我记录下再提新的issue吧,谢谢