Я использую …
- Рубин на рельсах 5
- AngularJS 1.3.20
- Браузер Chrome или FireFox
Кажется, что ng-change event не работает, когда я запрашиваю get method like link с другой страницы. Но когда я отправляю запрос на следующую страницу, он работает.
При изменении значения select box событие onchange не происходит. Я ожидаю ng-перемен
должен достигнуть функцию changeHandler в образце.JS и консоль.log («ChangeHandler!!!») появляться.
Кроме того, я использую шаблон приложения Ruby on Rails. Таким образом, ng-app и ng-controller-это то же самое, что index1.html и index2.формат html.
** Дополнительная Информация
Я попытался Chrome ng-inspector для AngularJS инструмента. Но угловой панели нет. Но после перезагрузки той же страницы, он появляется. Что случилось?
index1.формат html.Эрб
<html lang="ja" ng-app="MyApp">
<body ng-controller="MyController">
<!-- For GET Method Request -->
<div>
<%= link_to 'Index2', sample_index2_path %>
</div>
<!-- For POST Method Request -->
<div>
<%= form_tag sample_index2_path do %>
<%= button_tag "Click" %>
<% end %>
</div>
</body>
</html>
index2.формат html.Эрб
<html lang="ja" ng-app="MyApp">
<body ng-controller="MyController">
<div>
<form>
<select id="eventTest" ng-model="eventTest" ng-change="changeHandler()">
<option value="1">AAA</option>
<option value="2">BBB</option>
<option value="3">CCC</option>
</select>
</form>
</div>
</body>
</html>
образец.js
angular.module('MyApp',[])
.controller("MyController", ['$scope', function($scope) {
$scope.eventTest;
$scope.changeHandler = function () {
console.log("ChangeHandler!!!");
};
}]);
Это работает только пост, или получить и перезагрузить браузер.
Существует разница между исходными кодами вывода HTML GET и POST.
I’M stack over 3 days.
Пожалуйста дайте мне знать и совет для меня.
Причиной неправильной работы углового модуля стал JavaScript lib turbolinks.
Я исправил это, изменив настройку по умолчанию reload — > false или стирая данные-turbolinks-track.
↓↓↓↓