Извините за невежество, но я здесь новичок,
Событие ng-click на кнопке включения не срабатывает,
Я пробовал разные решения, но никто не работает для меня
Я пытаюсь создать простую страницу только с одной вкладкой, на которой отображается кнопка, пока я просто пытаюсь заставить ее вызвать ожидаемое событие (например, предупреждение). После решения я могу перейти к более сложному действию...
может проблема в прицелах?
<html lang = "en" ng-app = "my-app">
<head>
<!-- here i added the needed css and js scripts -->
<script>
var module = angular.module("my-app", ["onsen"]);
module.controller("TabbarController", function($scope) {
$scope.updateTitle = function($event) {
$scope.title = angular.element($event.tabItem).attr("label");
};
});
module.controller("ListenButtonController", function($scope) {
$scope.onListenButtonClick = function() {
alert("lool");
};
});
</script>
</head>
<body>
<ons-page ng-controller = "TabbarController">
<ons-toolbar>
<div class = "center">{{ title }}</div>
</ons-toolbar>
<ons-tabbar swipeable position = "auto" ons-prechange = "updateTitle($event)">
<ons-tab
page = "homeTemplate"
label = "Home"
icon = "ion-home, material:md-home"
active
>
</ons-tab>
</ons-tabbar>
</ons-page>
<template id = "homeTemplate">
<ons-page id = "Tab1" ng-controller = "ListenButtonController">
<p style = "text-align: center;">
Welcome Home ^_^
</p>
<ons-button modifier = "large" ng-click = "onListenButtonClick()"
>Click to Listen (not implemented yet), it just shows an alert!!</ons-button>
</ons-page>
</template>
</body>
</html>
@ ZF007 спасибо за ваш комментарий и за все эти ценные детали, я постараюсь улучшить свой вклад в следующий раз.
Я не вижу никаких проблем с вашим кодом, и, похоже, он работает нормально. Ниже приведен пример фрагмента, демонстрирующий, что событие клика запускается должным образом. Единственная разница между вашим кодом и этим фрагментом в том, что я подключил библиотеки, которые необходимы для его запуска. Никаких изменений в контроллер/шаблон не вносилось.
Убедитесь, что вы используете последнюю версию своей страницы в браузере.
<html lang = "en" ng-app = "my-app">
<head>
<link rel = "stylesheet" href = "https://unpkg.com/onsenui/css/onsenui.css">
<link rel = "stylesheet" href = "https://unpkg.com/onsenui/css/onsen-css-components.min.css">
<script src = "https://unpkg.com/onsenui/js/onsenui.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.7.8/angular.min.js"></script>
<script src = "https://unpkg.com/[email protected]/dist/angularjs-onsenui.min.js"></script>
<script>
var module = angular.module("my-app", ["onsen"]);
module.controller("TabbarController", function($scope) {
$scope.updateTitle = function($event) {
$scope.title = angular.element($event.tabItem).attr("label");
};
});
module.controller("ListenButtonController", function($scope) {
$scope.onListenButtonClick = function() {
alert("lool");
};
});
</script>
</head>
<body>
<ons-page ng-controller = "TabbarController">
<ons-toolbar>
<div class = "center">{{ title }}</div>
</ons-toolbar>
<ons-tabbar swipeable position = "auto" ons-prechange = "updateTitle($event)">
<ons-tab
page = "homeTemplate"
label = "Home"
icon = "ion-home, material:md-home"
active
>
</ons-tab>
</ons-tabbar>
</ons-page>
<template id = "homeTemplate">
<ons-page id = "Tab1" ng-controller = "ListenButtonController">
<p style = "text-align: center;">
Welcome Home ^_^
</p>
<ons-button modifier = "large" ng-click = "onListenButtonClick()"
>Click to Listen (not implemented yet), it just shows an alert!!</ons-button>
</ons-page>
</template>
</body>
</html>
Это сработало, большое спасибо, похоже, это проблема совместимости между различными включенными скриптами angularjs/onsenui, еще раз спасибо, вы спасаете жизнь.
@John Да, это наверняка может быть проблемой совместимости. Рад, что помогло :)
Пожалуйста, исправьте тег вопроса... его формулировка или грамматика кажутся неправильными. Удалите «заявление новичка».., вы в настоящее время помечены как «новый участник».. и многое объясняет. Также проверьте другие вопросы на SO по этой теме и уточните, почему некоторые из них, которые вы, возможно, пробовали, не работают для вас. Конец сортировки Обзор >> требует редактирования.