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

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

ただいまの
回答率

91.35%

  • Monaca

    715questions

    「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

  • AngularJS

    482questions

    AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

  • Onsen UI

    225questions

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

Onsenui + Angularで、文字のタップ時に別ページを表示しようとするとエラーになります。

解決済

回答 1

投稿 2017/12/03 21:10

  • 評価
  • クリップ 0
  • VIEW 340

motsu3DJ

score 0

Onsenui + Angularでアプリ開発を行っている途中です。
10月中旬頃までは以下のソースで問題なく動作していたのですが、
本日起動したところ、初期ページの

ng-click="tap('logintab.html')"

が動作した際に、添付のエラーメッセージが表示されてしまいうまく動作しません。
変更した箇所に心当たりはまったくないのですが、
どこを調べていいものかわからず、お恥ずかしい限りですが皆さんのお力をお借りしたく思います。

エラーメッセージ

icon.attributeChangedCallback is not a function
angular.js:13920 TypeError: icon.attributeChangedCallback is not a function
at TabElement.value (file:///C:/TGMApp/kumaapp/www/lib/onsenui/js/onsenui.min.js:6:11646)
at file:///C:/TGMApp/kumaapp/www/lib/onsenui/js/onsenui.min.js:6:14960
at file:///C:/TGMApp/kumaapp/www/lib/onsenui/js/onsenui.min.js:2:11568
at Array.forEach (native)
at consumeQueue (file:///C:/TGMApp/kumaapp/www/lib/onsenui/js/onsenui.min.js:2:11534)
at contentReady (file:///C:/TGMApp/kumaapp/www/lib/onsenui/js/onsenui.min.js:2:11750)
at TabElement.value (file:///C:/TGMApp/kumaapp/www/lib/onsenui/js/onsenui.min.js:6:14929)
at CustomElementInternals.value (file:///C:/TGMApp/kumaapp/www/lib/onsenui/js/onsenui.min.js:3:12327)
at CustomElementInternals.value (file:///C:/TGMApp/kumaapp/www/lib/onsenui/js/onsenui.min.js:3:11460)
at CustomElementInternals.value (file:///C:/TGMApp/kumaapp/www/lib/onsenui/js/onsenui.min.js:3:10586)

ソースコードを以下に記入します。

---Index.html----#
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
<script src="js/main.js"></script>
<script src="components/loader.js"></script>
<link rel="stylesheet" href="components/loader.css">
<link rel="stylesheet" href="lib/onsenui/css/onsenui.css">
<link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css">
<link rel="stylesheet" href="css/style.css">
</head>

<body class="fadeout" ng-controller="myApp">
<ons-splitter var="mySplitter">
<ons-splitter-side collapse></ons-splitter-side>
<div class="center">
アプリ
</div>
<ons-splitter-content></ons-splitter-content>
</ons-splitter>

<!-- タブ表示用ページ-->
<ons-template id="tabK.html">
<ons-page>
<ons-tabbar var="tab" position="bottom">
<ons-tab page="main.html" label="ホーム" icon="home" active></ons-tab>
<ons-tab page="yoyaku.html" label="熊の待ち合わせ" icon="fa-tasks"></ons-tab>
<ons-tab page="letter.html" label="熊のお便り" icon="ion-paper-airplane"></ons-tab>
<ons-tab page="config.html" label="設定" icon="gear"></ons-tab>
</ons-tabbar>
</ons-page>
</ons-template>

<!-- タブ表示用ページ 非会員用-->
<ons-template id="tabN.html">
<ons-page>
<ons-tabbar var="tab" position="bottom">
<ons-tab class="color_not_login" page="main.html">
<div class="my-icon">
<div class="my-icon-sub">
<img src="img/40.png" alt="熊アイコン">
</div>
</div>
</ons-tab>
<ons-tab class="color_not_login" page="hikaiinyoyaku.html" label="熊のお試し" icon="fa-ticket"></ons-tab>
<ons-tab class="color_not_login" page="letter.html" label="熊のお便り" icon="ion-paper-airplane"></ons-tab>
<ons-tab class="color_not_login" page="config.html" label="設定" icon="gear"></ons-tab>
</ons-tabbar>

</ons-page>
</ons-template>

<!-- ログインタブ表示用ページ-->
<ons-template id="logintab.html">
<ons-page ng-controller="HomeController" ng-init="HomeInit()">
<ons-tabbar ng-controller="LoginTabController" var="tab" position="bottom" animation="none">
<ons-tab page="main.html" label="熊イラスト" icon="home" active></ons-tab>
<ons-tab page="aisatsu.html" label="ご挨拶" icon="fa-tasks"></ons-tab>
<ons-tab page="login.html" label="ログイン" icon="fa-users"></ons-tab>
<ons-tab page="join.html" label="熊の仲間入り" icon="fa-users"></ons-tab>
</ons-tabbar>

<h1>アプリ
タブページ
</h1>
</ons-page>
</ons-template>

<ons-template id="top.html">
<ons-page id="top">
<div class="title center">
<h1>熊の◯◯公式アプリ
</h1>
</div>
<div ng-click="tap('logintab.html')" class="blinking center">
<h1>Tap here.</h1>
</div>
</ons-page>
</ons-template>

<ons-template id="home.html">
<ons-page id="home">
<img class="topImg center" src="img/01.png">
</ons-page>
</ons-template>

<ons-template id="main.html">
<ons-page id="main">
<div class="content">
<div class="main">
<p>アプリ</p>
</div>
</div>
</ons-page>
</ons-template>

<ons-template id="aisatsu.html">
<ons-page id="main">
<div class="content">
<div class="main">
<p>ご挨拶</p>
</div>
</div>
</ons-page>
</ons-template>

<ons-template id="login.html">
<ons-page id="login">
<div class="content">
<div class="main center">
<p>ログイン</p>
</div>

<ons-list-item>
<div class="center">
登録会員としてログイン
</div>
<div class="right">
<ons-switch id="swich_kaiin" checked></ons-switch>
</div>
</ons-list-item>

<p></p>

<div class="Button_Wrapper_center">
<span>
<div>
<input class="text-input text-input--material" placeholder="Username" type="text" required>
</div>
<br />
<div>
<input class="text-input text-input--material" placeholder="Password" type="password" required>
</div>
</span>

<div class="loginButton center">
<ons-button ng-click="login()" modifier="material">ログイン</ons-button>
</div>
</div>

<p></p>
<div class="Button_Wrapper_center">
<div class="FBloginButton">
<ons-button id="fblogin" modifier="material" onclick="mySplitter.content.load( 'fblogin.html')">Facebookログイン</ons-button>
</div>
</div>

</div>
</ons-page>
</ons-template>

<ons-template id="join.html">
<ons-page id="join">
<div class="content">
<div class="main center">
<p>熊の仲間入り</p>
</div>
</div>
</ons-page>
</ons-template>
<ons-template id="yoyaku.html">
<ons-page id="yoyaku">
<div class="content">
<div class="main">
<p>熊の待ち合わせ</p>
</div>
</div>
</ons-page>
</ons-template>

<ons-template id="hikaiinyoyaku.html">
<ons-page id="hikaiinyoyaku">
<div class="content">
<div class="main">
<p>熊のお試し</p>
</div>
</div>
</ons-page>
</ons-template>

<ons-template id="letter.html">
<ons-page id="letter">
<div class="content">
<div class="main">
<p>熊のお便り</p>
</div>
</div>
</ons-page>
</ons-template>

<ons-template id="config.html">
<ons-page id="config">
<div class="content">
<div class="main">
<p>設定</p>
</div>
</div>
</ons-page>
</ons-template>

<template id="fblogin.html">
<ons-page id="fblogin">
<div class="content">
<div class="main">
<p>Facbookログイン</p>
</div>

</div>
</ons-page>
</template>

</body>

</html>

試したこと

index.htmlの各項目をコメント化して実行してみましたが、原因となる箇所の特定ができませんでした。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

OnsenUI とAngularを以下のバージョンに入れ替えたところ解決しました。
お騒がせしました。

OnsenUI 2.8.2
Angular v1.6.6

投稿 2017/12/05 16:30

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

ただいまの回答率

91.35%

関連した質問

  • 解決済

    AjaxからPHPへデータを送信

    前提・実現したいこと monacaとOnsenUIを使って同一ディレクトリから取り出したtextをチェックボックスに入れてチェックした値をサーバーに渡すというプログラムを作ってい

  • 解決済

    ons-navigatorの中でons-tabbarを使いたいが・・・

    前提・実現したいこと ここに質問したいことを詳細に書いてください (例)PHP(CakePHP)で●●なシステムを作っています。 ■■な機能を実装中に以下のエラーメッセージが

  • 解決済

    ons-tabの非表示

    前提・実現したいこと MonacaでOnsenUI v2を使ったアプリを製作していて、ons-tabを用いてページの切り替えを行っているのですが、ons-tab内のページでpus

  • 解決済

    タイトルやメニューはそのままそれ以下の部分を変更したいです。

    前提・実現したいこと 現在、Onsen U1 V2 Angular1 Splitterを使って開発をしようとしているのですが、ページにボタンを作り、クリックすると画面の表示内容を

  • 解決済

    スワイプ操作での画面遷移

    前提・実現したいこと Monacaでアプリ開発の勉強をしているのですが、OnsenUIのpushpageで画面遷移をした後に、画面を上にスワイプすることでpop-pageができる

  • 解決済

    タブバーをすべてのページのbottomに固定したい

    MonacaとonsenUIを使って、勉強しつつハイブリッドアプリを制作しています。 タブバーをすべてのページのbottomに固定したいのですが、やり方がよくわかりません。

  • 解決済

    OnsenUiのレイアウトが崩れる

    上の画面を見てください。 下のタブは大まかなカテゴリー選択の役目を補っている、ons-tabです。 一番左の豆電球アイコンが現在アクティブな状態です。 中央上

  • 解決済

    ons-navigatorでのページ遷移

    前提・実現したいこと ons-navigatorでページを切り替えた後、ons-tabbarのons-tab要素を非表示にし、ons-toolbarにons-back-butto

同じタグがついた質問を見る

  • Monaca

    715questions

    「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

  • AngularJS

    482questions

    AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

  • Onsen UI

    225questions

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