简体   繁体   中英

Data-binding does not work in XML view

I try to do a simple example: If I use the JSON view, the binding works, but if I use the XML view (I prefer it) I have a problem: no data visualized. Why?

This is the controller (equal to XML and JSON view) .

sap.ui.controller("appIntra.test", {

    onInit : function() {
        var data = {
                names: [
                    {firstName: "Peter", lastName: "Mueller"},
                    {firstName: "Petra", lastName: "Maier"},
                    {firstName: "Thomas", lastName: "Smith"},
                    {firstName: "John", lastName: "Williams"},
                    {firstName: "Maria", lastName: "Jones"}
                ]
            };
        // create a Model with this data
        var model = new sap.ui.model.json.JSONModel();
        model.setData(data);

        console.log("controller");
        sap.ui.getCore().setModel(model);
        //this.getView().setModel(model);

    },


});

This is json view

sap.ui.jsview("appIntra.test", {

    /** Specifies the Controller belonging to this View. 
    * In the case that it is not implemented, or that "null" is returned, this View does not have a Controller.
    * @memberOf appIntra.test
    */ 
    getControllerName : function() {
        return "appIntra.test";
    },

    /** Is initially called once after the Controller has been instantiated. It is the place where the UI is constructed. 
    * Since the Controller is given to this method, its event handlers can be attached right away. 
    * @memberOf appIntra.test
    */ 
    createContent : function(oController) {
        console.log("view");
        // create a List control
        var list = new sap.m.List({
            headerText:"Names"
        });

        // bind the List items to the data collection
        list.bindItems({
            path : "/names", 
            template : new sap.m.StandardListItem({
                title: "{lastName}",
                description: "{firstName}",
                type: sap.m.ListType.Navigation,
            })
        });






        return new sap.m.Page({
            title: "Title",
            content: list
        });
    }

});

and this is (part of) XML view

                    <List
                        items="{
                          path: '/items',
                          sorter: {
                            path: 'padre',
                            descending: false,
                            group: true
                          }
                        }" 
                        headerText="Operazioni" >
                        <StandardListItem
                          title="{text}" 
                        />
                    </List> 
                   <List
                    items="{
                      path: '/names',
                      sorter: {
                        path: 'padre',
                        descending: false,
                        group: true
                      }
                    }" 
                    headerText="Operazioni" >
                    <StandardListItem
                      title="{text}" 
                    />
                </List> 

Pleaes try to add the following paramater in the bootstrap parameter of the HTML file.

data-sap-ui-xx-bindingSyntax="complex"

Regards, Makoto

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM