传递对视图的响应时出现Nativescript错误

时间:2016-10-19 13:13:41

标签: java android xml listview nativescript

当我选择POST级别(在product.xml中)时,我正在尝试发送listview请求,并且我正在尝试构建另一个listview(在品牌中) .xml)。我已成功发送POST请求并获得响应。但我未能将响应传递给view.That是我无法构建视图。我认为问题是我可以&#39 ; t正确发送数据(与级别文本相关联),所以我失败了。我收到此错误:****尝试调用虚方法' intjave.lang.Integer.intValue()' * *在空对象上**。 null这是我的代码 -

product.xml:

<Label text="{{ category }}"  horizontalAlignment="left" verticalAlignment="center" tap="brand" />

product.Js:

    exports.brand=function (args) {

    var item =args.object;

     text=item.text;

     getBrand(text);

     };


function getBrand(data) {

    brand.get(data);

        frameModule.topmost().navigate("view/brand/brand");

}

Brand_View_Model:

function BrandViewModel() {

    var viewModel = new Observable({    
    });

    viewModel.get = function (category){
        data = category;

        }

         viewModel.load = function() {

           fetch("http://10.0.2.2:8000/user_signup", {
           method: "POST",
           headers: { "Content-Type": "application/json" },

           body: JSON.stringify({ 

           category: data,

            })

        }).then(function(response) {
           return response.json();
        }).then(function(data) {

            for(var i=0;i<data.length;i++){

            viewModel.push({
                brand: data[i].brand,

            });

           };  

        });

         }

    viewModel.empty = function() {
    while (viewModel.length) {
        viewModel.pop();
    }
};

    return viewModel;
}

function handleErrors(response) {
    if (!response.ok) {
        console.log(JSON.stringify(response));
        throw Error(response.statusText);
    }
    return response;
}

 module.exports = BrandViewModel;

** Brand.js:**

var BrandViewModel = require("../../shared/brand_view_model");

var observableModule = require("data/observable");

var page;

var data;

var brandList = new BrandViewModel([]);  


var pageData = new observableModule.fromObject({
    brandList: brandList
});


exports.loaded = function(args) {
    page = args.object;

    page.bindingContext = pageData;

    brandList.empty();
    brandList.load();


};

Brand.xml:

<Page loaded="loaded">
    <GridLayout>
        <ListView items="{{ brandList }}" >
            <ListView.itemTemplate>
                <Label text="{{ brand }}"  horizontalAlignment="left" verticalAlignment="center" tap="brand" />
            </ListView.itemTemplate>
        </ListView>

    </GridLayout>
</Page>

0 个答案:

没有答案