我正在尝试开始学习AngularJS用于我正在研究的Ionic应用程序,并且我在理解AngularJS方面遇到了一些麻烦,因为它在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时,如何将输入值传递给控制器?我正在开发一个聊天应用程序,所以我认为需要一种模型方法,以便消息线程可以自动更新,但除此之外我不知道。
有人可以帮助我,或者至少指出我正确的方向吗?
答案 0 :(得分:9)
有几种方法可以将值传递给控制器。这是最简单的例子。正如贾斯汀所说,你应该研究角度基础。
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);
}
}
这是工作fiddle
我建议你仔细阅读post。
答案 1 :(得分:-1)
您发布的以下标记是视图。您需要做的是编写一个名为控制器的独立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>