Emmachen / SapUi5Test02

0 stars 0 forks source link

How to connec controller with views? #1

Open Emmachen opened 8 years ago

Emmachen commented 8 years ago

How to connec controller with views? 在shellIndex.html文件中,使用musicstore的view和controller. 想通过searFiled的值,改变model.odata的值,传searc的值作为filter,可是不知道如何接收。因为点击了搜索后调用这个方法,可是并不会再去走一遍view了

ghost commented 8 years ago

Hi Wenxin,

刚看完你的MyView.view.js,做的不错。如果我想debug一个UI上的field,这个field绑到了一个JSON modle的某个field,但是runtime时候没有把model里的值显示出来。我一般会这样debug:

在Chrome development tool里使用全文搜索,搜索关键字_getValue: 在46行设置断点。 clipboard1

上图还有其他几个地方也call到了_getValue,为什么不在那些地方也设置断点?一个原因是经验,等你做的时间久了,自然就会有这个直觉。

这张图也提示了一个重要的知识点:我们在js代码里写的把某个UI控件的属性绑定到某个model的某个field上,抽象成A->B的绑定,在UI5 framework runtime的时候,这个A->B的绑定关系会被框架实例化成一个个的ClientPropertyBinding的实例,最后UI上看到控件显示值的过程,就是这一个个实例call _getValue方法,把B的值显示出来的过程。

你可以在这个方法里设个断点,观察这些binding实例是如何被new出来的: clipboard2

另: Chrome development tool里有很多常用的快捷键,请阅读这篇文章

Best regards, Jerry

ghost commented 8 years ago

Hi Wenxin,

请pull 最新的代码到你本地调试。

现在实现的功能是:每次从drop down list里选择某个人之后,点submit,下面的table会出现对应的value。 clipboard1

如果什么都不选点Submit,就显示全部的三条数据。 clipboard2

注意

我加的代码全部是处于演示目的,没有考虑性能,不代码实际开发时可以这样写。

Best regards, Jerry