【问题标题】:Onsen AngularJS - not dispalying form dataOnsen AngularJS - 不显示表单数据
【发布时间】:2016-04-22 09:21:06
【问题描述】:

我正在使用 Onsen、Monaca 和 AngularJS 编写一个跨平台应用程序。

我有一个标准的登录屏幕,用户必须在其中输入他们的用户 ID,以便我可以通过 API 调用登录。

但是,按照HERE 中的THIS 示例,我无法显示我的用户ID。谁能看看我哪里出错了?

我看到的输出看起来完全像这样:您的用户 ID 是:{{lastName}}

包含所有代码。

index.html

<!DOCTYPE HTML>
<html ng-app="myApp">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">

    <!-- Mobile web App Capable -->
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="mobile-web-app-capable" content="yes">

    <title>Management</title>  

    <!-- Tests -->
    <script type="text/javascript" src="js/app.js"></script>

    <script src="components/loader.js"></script>
    <script src="js/winstore-jscompat.js"></script>
    <link rel="stylesshet" href="components/monaca-onsenui/js/angular/angular-csp.css">
    <link rel="stylesheet" href="components/loader.css">
    <link rel="stylesheet" href="css/style.css">
    <link rel="stylesheet" href="css/style.css">
    <script>
        var myApp = angular.module('myApp', ['onsen']);
    </script> 
</head>

<body>
    <ons-navigator var="myNavigator" page="login.html"></ons-navigator> 
</body>
</html>

login.html

<ons-page>
    <ons-toolbar>
        <div class="center">Login</div>
    </ons-toolbar>

    <div ng-controller="personController">
        <form class="login-form" style="text-align: center" name="myForm">
            <section style="padding: 8px">
                <input type="password" class="text-input--underbar" required minlength="3" maxlength="4"  placeholder="User ID" ng-model="firstName">
            </section>

            <section>
                <div style="color: #015794; text-align: right">
                    <label class="checkbox--noborder">
                        <input type="checkbox">
                            <div class="checkbox__checkmark"></div>
                            <small>Remember Me</small>
                    </label>
                </div>
            </section>

            <div ng-app="myApp" style="text-align: center; color: #889DA8">
                Your User ID is: <br><strong>{{lastName}}</strong>
            </div>

            <section style="padding: 0 8px 8px">
                <ons-button var="saveBtn" ng-disabled="myForm.$invalid" modifier="large" onclick="modal.show('modal')">Log In</ons-button>
            </section>
        </form>
    </div>
</ons-page>

app.js

angular.module("myApp", []).controller("personController", function($scope)
{
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

【问题讨论】:

    标签: angularjs forms onsen-ui monaca


    【解决方案1】:

    在我看来,问题似乎出在结构上。您似乎以错误的顺序做事,并且可能会两次做某些事情。 目前你有

    <script type="text/javascript" src="js/app.js"></script>
    <script src="components/loader.js"></script>
    ...
    <script>
        var myApp = angular.module('myApp', ['onsen']);
    </script>
    

    你正在 app.js 中定义你的控制器。但是,似乎应该在之后使用 loader.js 加载 angular,并且您在最后添加 onsen,再次创建相同的 angular 模块。

    顺序应该是先loader.js然后app.js,应该是在第一行添加温泉。

    index.html

    <script src="components/loader.js"></script>
    <script src="js/app.js"></script>
    

    app.js

    angular.module("myApp", ['onsen']).controller("personController", function($scope){
        $scope.firstName = "John";
        $scope.lastName = "Doe";
    });
    

    DEMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多