Pertanyaan Berikan nilai input ke pengontrol saat masuk atau klik tombol


Saya mencoba untuk mulai belajar AngularJS untuk aplikasi Ionic yang sedang saya kerjakan, dan saya mengalami sedikit kesulitan memahami AngularJS yang memiliki pengalaman paling sebelumnya pada jQuery yang berfokus pada manipulasi DOM daripada kerangka kerja.

Jika saya memiliki markup berikut:

<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>

Bagaimana saya bisa mengirimkan nilai dari input ke controller ketika memasukkan atau mengirim diklik? Saya sedang mengerjakan aplikasi obrolan, jadi saya percaya bahwa pendekatan model diperlukan agar utas pesan dapat diperbarui secara otomatis tetapi selain itu saya tidak tahu.

Bisakah seseorang membantu saya atau setidaknya mengarahkan saya ke arah yang benar?


5
2017-07-26 19:28


asal


Jawaban:


Ada beberapa cara untuk memberikan nilai pada pengontrol Anda. Ini adalah contoh paling sederhana. Seperti kata Justin, Anda harus melihat dasar-dasar sudut.

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);
    }
}

Inilah pekerjaannya biola

Dan saya akan merekomendasikan Anda untuk melewati ini pos.


8
2017-07-26 19:53



Markup berikut yang Anda poskan adalah tampilan. Yang perlu Anda lakukan adalah menulis skrip JS terpisah yang disebut pengontrol yang ditautkan ke tampilan. Lihatlah ke dalam tutorial Sudut dasar tentang cara melakukannya dan terutama melihat bagaimana cara kerja $ scope di Angular.

Kontroler Anda akan memiliki fungsi ... katakan:

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

Dari tampilan, Anda dapat memberikan nilai ke controller dengan fungsi Angular seperti ng-klik.

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

-1
2017-07-26 19:48