Angular提交Form无法触发Controller的函数,请帮看

发布于 2022-09-01 06:28:42 字数 2260 浏览 13 评论 0

刚刚学习Angular.写了一个双向绑定的表单,不知道为啥错了,触发不到js的函数。

HTML:

<table class="table" data-ng-controller="WordsCtrl" data-ng-show="words.length">
    <thead>
        <tr><td>Keyword</td><td>Action</td></tr>
    </thead>
    <tbody>
        <form name="wordForm" ng-submit="addWord()">
            <tr><td><input ng-model="word.keyword" /></td><td><select ng-model="word.action"><option value="pass">pass</option><option value="deny">deny</option></select></td><td><input  type="submit" value="Add" /></td></tr>
            <!--INPUT-->
            <tr ng-show="word.keyword"><td>{{word.keyword}}</td><td>{{word.action}}</td><td ng-show="word.action=='pass'"><span class="text-success"><i class="fa fa-check"></i></span></td><td ng-show="word.action=='deny'"><span class="text-danger"><i class="fa fa-warning"></i></span></td></tr>
            <!--SHOW-->
            <tr data-ng-repeat="w in words"><td>{{w.keyword}}</td><td>{{w.action}}</td><td ng-show="w.action=='pass'"><span class="text-success"><i class="fa fa-check"></i></span></td><td ng-show="w.action=='deny'"><span class="text-danger"><i class="fa fa-warning"></i></span></td></tr>
        </form>
    </tbody>
</table>

JS:

/**
 * Words Controller
 */

angular
    .module('RDash')
    .controller('WordsCtrl', ['$scope', WordsCtrl]);

function WordsCtrl($scope) {
    $scope.word = {}

    $scope.words = [{
        keyword: 'hello',
        action: 'pass',
    }, {
        keyword: 'world',
        action: 'deny',
    }, {
        keyword: '你好',
        action: 'pass',
    }, {
        keyword: '世界',
        action: 'deny',
    }];

    $scope.addWord = function() {
        alert("ddd");
        $scope.words.push($scope.word);
    };

    $scope.closeLog = function(index) {
        $scope.words.splice(index, 1);
    };
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人事已非 2022-09-08 06:28:42

自己回答一下,一个解决方法是用了ng-click事件。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文