跨脚本进行动态生成内容时的内容显示不正确问题

我在实现一个功能的时候遇到了一个问题,希望各位大大能帮忙解答。
功能如下:有一个独立的信息窗口,其绑定的脚本提供一个方法可以动态生成信息,而其他类似按钮的组件可以通过访问这个方法来生成相应的信息。现在问题来了 ,每次游戏开始时的第一次调用信息生成方法必定不会生成信息,而第二次调用方法则会显示出第一次调用所产生的信息,以此类推。
下面贴出我的代码,一共三个脚本(其中一个为调用脚本,另外两个即为官方教程中的动态内容生成脚本):

**Button,js**//调用脚本
collectStone:function(){
        this.sendMassage("收集石头");
 },
...
sendMassage : function( massageName ) {
        var massageAreaControl = cc.director.getScene().getChildByName("massageArea").getComponent("massageAreaControl");//获取独立窗口绑定脚本
        massageAreaControl.createAMassage(massageName);//调用信息生成函数
},

**massageAreaControl.js**//信息生成脚本,即为官方教程中的ItemList
properties: {
        massageBox:cc.Node,//layout窗口
        massagePrefab:cc.Prefab,
    },
...
createAMassage : function( massageName ){
        this.massageData = JSON.parse(cc.sys.localStorage.getItem("massageData"));//获取JSON

        for(var i = 1;i < this.massageData.length; i++){//遍历数据
            if(this.massageData[i].name === massageName){//如果找到对应信息则进行内容生成
                var item = cc.instantiate(this.massagePrefab);
                var data = this.massageData[i];

                this.massageBox.addChild(item);//在layout中生成数据
                item.getComponent("massageTemplate").init({
                    id : data.id,
                    content : data.content,
                })
                break;
            }
        }
    },
**massageTemplate.js**//即官方教程中的Template脚本
properties: {
        massageLabel : cc.Label,
        id : 0,
    },
init : function( data ){
        this.id = data.id;
        this.massageLabel.string = data.content;
    },

这格式真是…

感谢@jare大大的格式调整