吴键式不点火 [英] Ng-Click not firing

本文介绍了吴键式不点火的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每当我点击我的提交按钮没有任何反应,目前所有我希望它做的是打印出来的用户名和密码来测试有绑定。
和我谈得来的控制器,并打印出来,我在控制器发硬codeD的消息,似乎公司的NG-点击不会触发该方法。
任何帮助将是巨大的,
谢谢:D

 <节ID =注册视图级=mainbar>
    <节类=没关系>
        < D​​IV CLASS =容器>
            < D​​IV CLASS =行>
                <标签> {{vm.message}}< /标签>
                <窗​​体类=注册表单>
                    <标签名称=username_label>用户名:LT; /标签>
                    <输入类型=文本名称=用户名NG模型=vm.userDetails.username/>
                    < BR />
                    <标签名称=password_label>密码:LT; /标签>
                    <输入类型=文本名称=密码NG模型=vm.userDetails.password/>
                    < BR />
                    <按钮式=提交级=BTN BTN-默认的NG点击=vm.submitUserDetails()>提交< /按钮>
                < /表及GT;            < / DIV>
        < / DIV>
    < /节>
< /节>

和控制器类

 (函数(){
    使用严格的;    角
        .module('app.register')
        .controller('RegisterController',RegisterController);    。RegisterController $注射='$ Q','DataService的','记录'];
    / * * @ngInject /
    功能RegisterController($ Q,DataService的,记录仪){
        VAR VM =这一点;
        vm.message ='baass';
        vm.userDetails = {
            用户名: '',
            密码:''
        }        功能激活(){
            变种许诺= [submitUserDetails()];
            返回$ q.all(承诺)。然后(函数(){
                logger.info('激活仪表板视图');
            });
        }        功能submitUserDetails(){
            的console.log('用户名:'+ vm.userDetails.username);
            的console.log(密码:+ vm.userDetails.password);
        }
    }
})();


解决方案

您需要添加 submitUserDetails 在控制范围内,使其可以在视图,因为你仅仅定义 submitUserDetails 的功能。你应该结合其参考 vm.submitUserDetails

  vm.submitUserDetails = submitUserDetails;

whenever I click my submit button nothing happens, currently all I want it to do is print out the username and password to test there bindings. And I am able to talk to the controller and print out hard coded message that I made in the controller, it seem's that the ng-click doesn't fire on that method. Any help would be great, Thanks :D

<section id="register-view" class="mainbar">
    <section class="matter">
        <div class="container">
            <div class="row">
                <label>{{vm.message}}</label>
                <form class="register-form">
                    <label name="username_label"> Username: </label>
                    <input type="text" name="username" ng-model="vm.userDetails.username"/>
                    <br/>
                    <label name="password_label"> Password: </label>
                    <input type="text" name="password" ng-model="vm.userDetails.password"/>
                    <br/>
                    <button type="submit" class="btn btn-default" ng-click="vm.submitUserDetails()">Submit</button>
                </form>

            </div>
        </div>
    </section>
</section>

And controller class

(function () {
    'use strict';

    angular
        .module('app.register')
        .controller('RegisterController', RegisterController);

    RegisterController.$inject = ['$q', 'dataservice', 'logger'];
    /* @ngInject */
    function RegisterController($q, dataservice, logger) {
        var vm = this;
        vm.message = 'baass';
        vm.userDetails = {
            username: '',
            password: ''
        }

        function activate() {
            var promises = [submitUserDetails()];
            return $q.all(promises).then(function () {
                logger.info('Activated Dashboard View');
            });
        }

        function submitUserDetails() {
            console.log('Username: ' + vm.userDetails.username);
            console.log('Password: ' + vm.userDetails.password);
        }
    }
})();

解决方案

You need to add submitUserDetails in controller context to make it available on view, as you only defined the function of submitUserDetails. You should bind its reference to vm.submitUserDetails

vm.submitUserDetails = submitUserDetails;

这篇关于吴键式不点火的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆