如果我尝试在appcelerator上打开新视图时出错

时间:2016-06-14 10:40:23

标签: view appcelerator

我正在使用appcelerator构建一个简单的应用程序。 所以我有索引视图,当应用程序启动时,我希望这个索引视图打开登录视图。

所以我有这个:

login.xml

<Alloy>
    <View class="container">
        <View class="images"></View>
        <Label id="loginLable"
            class="loginLable">Accedi</Label>
        <TextField class="textLogin"></TextField>

    </View>
</Alloy>

login.js

// Arguments passed into this controller can be accessed via the `$.args` object directly or:
var args = $.args;

function loginEventListener(e){
    Ti.API.info("You clicked the button");
};

index.js

var login = Alloy.createController("login",args).getView();
login.open();

如果我尝试启动此应用程序,则会出现此错误:

[ERROR] :  TiExceptionHandler: (main) [19654,21610] ----- Titanium Javascript Runtime Error -----
[ERROR] :  TiExceptionHandler: (main) [0,21610] - In alloy/controllers/index.js:35,11
[ERROR] :  TiExceptionHandler: (main) [2,21612] - Message: Uncaught TypeError: Object #<View> has no method 'open'
[ERROR] :  TiExceptionHandler: (main) [1,21613] - Source:     login.open();
[ERROR] :  V8Exception: Exception occurred at alloy/controllers/index.js:35: Uncaught TypeError: Object #<View> has no method 'open'

1 个答案:

答案 0 :(得分:2)

你不能打开&#34;一个看法。它需要一个容器。您可以将其添加到已打开的窗口,也可以将控制器设置为窗口。 Self对于视图不存在。

open()

然后,要打开它,你可以像你已经做的一样