質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Q&A

解決済

1回答

1201閲覧

OnsenUIのDOMイベントをAngular1.xの書き方で取得する方法

hiroki0322

総合スコア65

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

0グッド

0クリップ

投稿2017/03/03 03:03

編集2017/03/03 05:49

OnsenUIのDOMイベント「destroy」「show」「hide」を
Angular1.xの書き方で取得する方法を教えていただけると助かります。
https://ja.onsen.io/v2/docs/guide/angular1/#dom-

initイベントは<onspage ng-init="init()">でいけそうでしたが、他が分からず、、、

現状のやり方は、親コントローラでOnsenUIのDOMイベントを受け取り、$broadcastで子コントローラ(各ページのコントローラ)に渡しています。

javascript

1app.controller('parentController', function($rootScope, $scope) { 2 // ページ表示完了時 3 document.addEventListener("show", function(e){ 4 $rootScope.$broadcast(e.target.id + '-show'); 5 }); 6});

javascript

1app.controller('childController', function($rootScope, $scope) { 2 $scope.$on('page-child-show', function(event, options) { 3 4 }); 5});

html

1<ons-page id="page-child" ng-controller="childController"> 2 コンテンツ 3</ons-page>

document.addEventListenerを使わずに、angular1でやる方法はないのかと思った次第です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

「OnsenUIのDOMイベント」が取得したければ、参考URLの例示の通り、以下のようなコードを実装することになると思います。
(厳密にはng-initはOnsenUIのイベントを取得して動いているわけではないと思われます)

JavaScript

1document.addEventListener("init", function(event) {} 2document.addEventListener("show", function(event) {} 3document.addEventListener("hide", function(event) {} 4document.addEventListener("destroy", function(event) {}

ただ、ng-initを利用したいと記載されているところを見ると、恐らく上記のような書き方は意図されていない(実装したくない)ように思われるのですが、
「Angular1.xの書き方」という表現が表すところと、それをしたいと考えるに至った背景をもう少し詳しく書いて頂けると回答が質問の意図したものに沿うように思います。

投稿2017/03/03 04:32

編集2017/03/03 04:37
akabee

総合スコア1947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問