与在Famo.us中调用函数和传递参数有关的问题

时间:2014-06-03 11:17:27

标签: javascript jquery famo.us

我在Famo.us框架中有一个小应用程序 我有两个javascript文件..(1)App.js(2)Page.js

(1)App.js如下

     var Surface         = require('famous/core/Surface');
        var ImageSurface    = require('famous/surfaces/ImageSurface');
        var Modifier        = require('famous/core/Modifier');
        var Transform       = require('famous/core/Transform');
        var View            = require('famous/core/View');
        var PageSwipe       = require('./PageSwipe');

        var PageView        = require('./Page');

function App() {
     var pageView = new PageView({});
        pageView.AddPage('Ghanshyam');
        }

(2)Page.js如下:

        var Surface          = require('famous/core/Surface');
            var Modifier         = require('famous/core/Modifier');
            var Transform        = require('famous/core/Transform');
            var View             = require('famous/core/View');
            var ImageSurface     = require("famous/surfaces/ImageSurface");
            var ContainerSurface = require("famous/surfaces/ContainerSurface");
            var StateModifier = require('famous/modifiers/StateModifier');
             var Draggable = require("famous/modifiers/Draggable")

            function Page() {}
function AddPage(url)
    {
        alert(url);
    }

我在AddPage(url)文件中创建了名为Page.js的函数。 我希望从App.js调用此函数,如App.js的构造函数中所述,并传递参数url。 如何调用它以及如何在函数中传递参数?

1 个答案:

答案 0 :(得分:0)

您需要创建一个公共函数来从另一个视图中调用它。 在javascript中,您可以创建原型。您应该看一下Timbre菜单演示,其中描述了famo.us视图逻辑,您可以找到空视图文件,作为起点使用。

   //In Page.js the first function is the constructor
   function Page() {
       View.apply(this, arguments);
   }

   //Public function seen from App.js 
   Page.prototype.addPage(parameter) {
        console.log(parameter);
   }

   //In App.js, call the function
   var myPage = new Page();
   myPage.addPage('hello');