按回车键或按按钮将输入值传递给控制器

Pass input value to controller on enter or button click

本文关键字:值传 控制器 输入 回车 按钮      更新时间:2023-09-26

我正试图开始为我正在开发的Ionic应用程序学习AngularJS,并且我在理解AngularJS方面遇到了一点麻烦,因为我有很多以前使用jQuery的经验,而jQuery主要关注DOM操作而不是框架。

如果我有以下标记:

<label class="item-input-wrapper">
  <i class="icon ion-ios7-chatbubble placeholder-icon"></i>
  <input type="text" placeholder="Send a message...">
</label>
<button class="button button-clear button-positive">
  Send
</button>

当enter或send被点击时,我如何将输入的值传递给控制器?我正在开发一个聊天应用程序,所以我认为需要一种模型方法,以便消息线程可以自动更新,但除此之外我不知道。

有人能帮我一下或者至少给我指个方向吗?

有几种方法可以将值传递给控制器。这里有一个最简单的例子。正如Justin所说,你应该看看angular的基础知识。

HTML:

<div ng-controller="MyCtrl">
     <input type="text" ng-model="foo" placeholder="Enter something" />
     <input type="button" ng-click="doSomething()" value="Send" ng-disabled="foo == null" />
</div>

JS:

var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
    $scope.foo = null;
    $scope.doSomething = function () {
        alert("Hello, " + $scope.foo);
    }
}

这是工作小提琴

我建议你看一下这篇文章

您发布的以下标记是视图。你需要做的是编写一个单独的JS脚本,称为控制器,它被链接到视图。看看基本的Angular教程,看看$scope在Angular中是如何工作的。

你的控制器将有一个功能…例如:

$scope.foo = function(input) { alert(input); };

在视图中,你可以用Angular函数(比如ng-click)把一个值传递给控制器。

<a ng-click="foo('this string will be passed in as the text of the alert')">click me</a>