cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Masalah bahawa teg input angularjs hanya boleh menghantar data dalam satu arah

Antara muka saya

 <ion-view title = "{{roomName}}" style = "height:90%;margin-top: 45px "  ng-init = "init()">
            <ion-pane>
            <ion-content zooming = "true"  class = "no-header">
                <ion-list>
                    <ion-item class="item item-input-inset">
                        <label class="item-input-wrapper">
                            <input type="text" placeholder="Your Message To Send" ng-model = "myMessage">
                        </label>
                        <button class="button button-small" ng-click = "sendMyMessage()">
                            发送
                        </button>
                    </ion-item>
                </ion-list>
            </ion-content>
            </ion-pane>

            <ion-pane style = "margin-top: 55px">
            <ion-content zooming = "true" class = "no-header" style = "margin-bottom: 50px">
                <ion-list>
                    <ion-item class = "item item-avatar-left my-item"
                             collection-repeat = "message in messages"
                             collection-item-width="'100%'"
                             collection-item-height="75">
                        <img ng-src="{{message.user.avatarUrl}}">
                        <h2>{{message.user.name}}:</h2>
                        <p>{{message.content}}</p>

                    </ion-item>
                </ion-list>

            </ion-content>
        </ion-pane>
        </ion-view>

Pengawal saya

atMoon.controller('roomCtrl',['$scope','myService', function ($scope, myService) {


    $scope.sendMyMessage = function () {
        console.log($scope.myMessage)
        myService.sendMyMessage($scope, $scope.myMessage)
    }
    $scope.init = function () {
        myService.getMessages($scope);
    }
}])

$scope.myMessage yang dicetak sentiasa tidak ditentukan Jika saya menulis $scope.myMessage = "xxxx" dalam pengawal, ia boleh dipaparkan dalam antara muka, jadi data hanya boleh pergi dari model ke paparan, bukan. dari pandangan kepada model Sila Terima kasih banyak atas jawapannya

仅有的幸福仅有的幸福2776 hari yang lalu671

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-05-15 16:51:46

    Saya mengesyaki anda telah ditipu oleh warisan prototaip skop

    Arahan seperti ion-content ini mempunyai skopnya sendiri Kemudian anda menulis ng-model="myMessage" dalam paparan Sebenarnya, kandungan yang anda isi dalam kotak input diletakkan pada skop ion-item dan anda roomCtrl. dalam skop myMessage masih undefined; dan selepas anda menetapkan nilai kepada myMessage dalam pengawal, kerana tiada atribut ion-item pada skop myMessage, ia akan berubah daripada Carian pada rantai prototaip, dan kemudian cari roomCtrl pada skop myMessage.

    Ini adalah penyelesaian saya:

    $scope.ctrlScope = $scope
    
    <input ng-model="ctrlScope.myMessage" />
    

    balas
    0
  • 高洛峰

    高洛峰2017-05-15 16:51:46

    Saya juga menghadapi masalah ini Nampaknya masalah dengan versi angular.js-1.3.0 Ia tidak muncul dalam versi yang lebih rendah diuji dan lulus Saya tidak tahu Mengapa (mungkin versi baharu Angular telah mengoptimumkan jam tangan, terlalu banyak jam tangan akan menjejaskan kecekapan):

    Tetapkan dalam pengawal
    $scope.Messages={myMessage:""}

     $scope.sendMyMessage = function () {
            console.log($scope.Messages.myMessage);
        }
    
    <input ng-model="Messages.myMessage" />
    
    
    另外我用angular.js正在开发webapp,可以交流下,http://php.xlanlab.com/webapp/mobile-angular-ui-master/my/index.html
    

    balas
    0
  • Batalbalas