2015-09-15 1 views
1

У меня странная ситуация, так же, как и в Chrome и Firefox.привязка модели не одинакова в Chrome и Firefox

Это HTML код:

<div class="modal" id="FeeModal" role="dialog" aria-hidden="true" data-backdrop="static"> 
    <div class="modal-dialog"> 
     <div class="modal-body"> 
     <label>Fee Paid<label> 
     <input id="FeePaid" ng-model="feeModel.FeePaid" /> 
     </div> 
     <div class="modal-footer"> 
     <button ng-click="feeModelUpdate()">Apply</button> 
     </div> 
    </div> 
</div> 

и это код в contoroller:

//this is the method I call to open modal 
$scope.addFee = function(section, index, isRecordingFee) { 
    var data = { 
     section = section, 
     index = index, 
     isRecordingFee = isRecordingFee 
    } 

    $scope.feeModel = data; 

    $(".popover").hide(); 
    $("#FeeModal").modal("show"); 
} 

$scope.feeModelUpdate = function() { 

    // in this method I have problem 
    $scope.feeModel.FeePaid 

} 

В моем методе feeModelUpdate я хочу, чтобы получить доступ значение от FeePaid, но у меня есть проблемы на Diferent браузеров ,

На хром этот код работает, и у меня есть значение в моем FeePaid, но это не работает в Firefox.

Итак, я полагаю, что это какая-то проблема в области обзора в разных браузерах?

Если я изменить свой HTML код:

ng-model="$parent.feeModel.FeePaid" 

Тогда все вдруг это работает в Firefox, но он не работает в Chrome. Поэтому мне нужна помощь, чтобы найти решение этой проблемы. Я не уверен, что не так, но странно, что этот код работает в одном браузере и не работает в другом, и наоборот.

+0

Прежде всего, метод, который вы говорите, содержит проблему, на самом деле не является правильным методом. Измените его из того, что у вас есть в '$ scope.feeModelUpdate = function() { $ scope.feeModel.FeePaid // здесь, что вам нужно }' –

+0

Спасибо, что указали мне ошибку в код вопросов. Это код моего контроллера, я не ставил его под сомнение, как должен. – freshbm

+0

Еще одна вещь, у меня была ситуация, когда код не работал в Chrome и сходил с ума, но ничего. Я просто отключил все свои возможности в Chrome, и код работал нормально. Проверьте это с помощью кода, который у вас есть. Также вы видите какие-либо ошибки консоли или что-то еще? –

ответ

0

Я решил проблему с изменением кода моего контроллера. Я инициализируюсь feeModel на старте контроллера:

$scope.feeModel = {}; 

... 

$scope.addFee = function(section, index, isRecordingFee) { 

... 

Это решило проблему, но я не уверен, почему это исправило проблемы. Если у кого-то есть объяснения, было бы здорово, если бы он мог опубликовать его.