如何在离子3中正确地使用标签切入我的主应用程序?

时间:2018-05-14 05:02:22

标签: ionic-framework ionic2 tabs ionic3 tabpage

大家好我在jsut使用这个命令开始一个项目"离子启动helloWorld标签" 它生成选项卡式项目,然后我添加一个按钮推送到新页面,我有一个按钮,我想回到我的主应用程序,这是我如何编程新的页面按钮

newpage.ts

  addItem(item: Item) {
    this.shopping.addItem(item).then(ref =>{
      this.navCtrl.setRoot('TabsPage', {key : ref.key});
    })
  }

我保存一个项目后,我想回到我的主要应用程序,我将setRoot改为我的TabsPage,但我向我显示了这个错误

  

无效链接:TabsPage

这是我的tabs.ts

import { Component } from '@angular/core';

import { AboutPage } from '../about/about';
import { ContactPage } from '../contact/contact';
import { HomePage } from '../home/home';

@Component({
  templateUrl: 'tabs.html'
})
export class TabsPage {

  tab1Root = HomePage;
  tab2Root = AboutPage;
  tab3Root = ContactPage;

  constructor() {

  }
}
我错过了什么?我应该导航到tabspage类吧?

更新我的代码后使用@Yerkon回答选项二,我收到了这些错误:

  

错误:未捕获(在承诺中):错误:类型TabsPage是其中的一部分   2个模块的声明:AppModule和TabsPageModule!请   考虑将TabsPage移动到导入AppModule和的更高模块   TabsPageModule。您还可以创建一个导出和导出的新NgModule   包括TabsPage然后导入AppModule中的NgModule和   TabsPageModule。错误:类型TabsPage是2的声明的一部分   模块:AppModule和TabsPageModule!请考虑移动TabsPage   到更高的模块,导入AppModule和TabsPageModule。您可以   还创建一个新的NgModule,然后导出并包含TabsPage   在AppModule和TabsPageModule中导入NgModule。

它说我必须将我的tabpagemodule移动得更高,这样做是否正常?或者我错过了什么?

1 个答案:

答案 0 :(得分:1)

  

无效链接:TabsPage

抛出此错误,因为TabsPage未在模块中注册。 有两种注册方式:

  1. 如果页面急切加载
  2. <强> app.module.ts:

    Collecting mlpy
      Downloading https://files.pythonhosted.org/packages/93/3c/be8ccff2aa3e5ce3b922cff026aadc62d3a671168e42616b1e0b8eccba12/mlpy-0.1.0.tar.gz (4.4MB)
    Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/dist-packages (from mlpy)
    Requirement already satisfied: numpy>=1.6.2 in /usr/local/lib/python3.6/dist-packages (from mlpy)
    Requirement already satisfied: scikit-learn in /usr/local/lib/python3.6/dist-packages (from mlpy)
    Requirement already satisfied: scipy>=0.11 in /usr/local/lib/python3.6/dist-packages (from mlpy)
    Requirement already satisfied: six>=1.9.0 in /usr/lib/python3/dist-packages (from mlpy)
    Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->mlpy)
    Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->mlpy)
    Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib->mlpy)
    Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->mlpy)
    Requirement already satisfied: pytz in /usr/lib/python3/dist-packages (from matplotlib->mlpy)
    Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from kiwisolver>=1.0.1->matplotlib->mlpy)
    Installing collected packages: mlpy
      Running setup.py install for mlpy: started
        Running setup.py install for mlpy: finished with status 'error'
        Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-l2ob_og8/mlpy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-anrvg2fg-record/install-record.txt --single-version-externally-managed --compile:
        running install
        running build
        running build_py
        creating build
        creating build/lib.linux-x86_64-3.6
        creating build/lib.linux-x86_64-3.6/mlpy
        copying mlpy/__init__.py -> build/lib.linux-x86_64-3.6/mlpy
        running egg_info
        writing mlpy.egg-info/PKG-INFO
        writing dependency_links to mlpy.egg-info/dependency_links.txt
        writing requirements to mlpy.egg-info/requires.txt
        writing top-level names to mlpy.egg-info/top_level.txt
        reading manifest file 'mlpy.egg-info/SOURCES.txt'
        reading manifest template 'MANIFEST.in'
        warning: no previously-included files matching '*.sdf' found under directory 'mlpy/libs'
        warning: no previously-included files matching '*.sln' found under directory 'mlpy/libs'
        warning: no previously-included files matching '*.suo' found under directory 'mlpy/libs'
        warning: no previously-included files matching '*.exp' found under directory 'mlpy/libs'
        warning: no previously-included files matching '*.ilk' found under directory 'mlpy/libs'
        warning: no previously-included files matching '*.lib' found under directory 'mlpy/libs'
        warning: no previously-included files matching '*pdb' found under directory 'mlpy/libs'
        warning: no previously-included files matching '__pycache__' found under directory '*'
        no previously-included directories found matching 'mlpy/libs/classifier/classifier'
        no previously-included directories found matching 'mlpy/libs/hmmc/hmmc'
        no previously-included directories found matching 'docs/build'
        no previously-included directories found matching 'docs/generated'
        writing manifest file 'mlpy.egg-info/SOURCES.txt'
        creating build/lib.linux-x86_64-3.6/mlpy/agents
        copying mlpy/agents/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/agents
        copying mlpy/agents/fsm.py -> build/lib.linux-x86_64-3.6/mlpy/agents
        copying mlpy/agents/modules.py -> build/lib.linux-x86_64-3.6/mlpy/agents
        copying mlpy/agents/world.py -> build/lib.linux-x86_64-3.6/mlpy/agents
        creating build/lib.linux-x86_64-3.6/mlpy/auxiliary
        copying mlpy/auxiliary/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary
        copying mlpy/auxiliary/array.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary
        copying mlpy/auxiliary/datasets.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary
        copying mlpy/auxiliary/datastructs.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary
        copying mlpy/auxiliary/io.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary
        copying mlpy/auxiliary/misc.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary
        copying mlpy/auxiliary/plotting.py -> build/lib.linux-x86_64-3.6/mlpy/auxiliary
        creating build/lib.linux-x86_64-3.6/mlpy/cluster
        copying mlpy/cluster/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/cluster
        copying mlpy/cluster/vq.py -> build/lib.linux-x86_64-3.6/mlpy/cluster
        creating build/lib.linux-x86_64-3.6/mlpy/constants
        copying mlpy/constants/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/constants
        copying mlpy/constants/_constants.py -> build/lib.linux-x86_64-3.6/mlpy/constants
        creating build/lib.linux-x86_64-3.6/mlpy/environments
        copying mlpy/environments/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/environments
        copying mlpy/environments/gridworld.py -> build/lib.linux-x86_64-3.6/mlpy/environments
        copying mlpy/environments/nao.py -> build/lib.linux-x86_64-3.6/mlpy/environments
        creating build/lib.linux-x86_64-3.6/mlpy/environments/webots
        creating build/lib.linux-x86_64-3.6/mlpy/environments/webots/controllers
        creating build/lib.linux-x86_64-3.6/mlpy/environments/webots/controllers/serverc
        copying mlpy/environments/webots/controllers/serverc/serverc.py -> build/lib.linux-x86_64-3.6/mlpy/environments/webots/controllers/serverc
        creating build/lib.linux-x86_64-3.6/mlpy/experiments
        copying mlpy/experiments/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/experiments
        copying mlpy/experiments/task.py -> build/lib.linux-x86_64-3.6/mlpy/experiments
        creating build/lib.linux-x86_64-3.6/mlpy/knowledgerep
        copying mlpy/knowledgerep/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep
        creating build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr
        copying mlpy/knowledgerep/cbr/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr
        copying mlpy/knowledgerep/cbr/engine.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr
        copying mlpy/knowledgerep/cbr/features.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr
        copying mlpy/knowledgerep/cbr/methods.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr
        copying mlpy/knowledgerep/cbr/similarity.py -> build/lib.linux-x86_64-3.6/mlpy/knowledgerep/cbr
        creating build/lib.linux-x86_64-3.6/mlpy/learners
        copying mlpy/learners/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/learners
        creating build/lib.linux-x86_64-3.6/mlpy/learners/offline
        copying mlpy/learners/offline/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/learners/offline
        copying mlpy/learners/offline/irl.py -> build/lib.linux-x86_64-3.6/mlpy/learners/offline
        creating build/lib.linux-x86_64-3.6/mlpy/learners/online
        copying mlpy/learners/online/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/learners/online
        copying mlpy/learners/online/rl.py -> build/lib.linux-x86_64-3.6/mlpy/learners/online
        creating build/lib.linux-x86_64-3.6/mlpy/libs
        copying mlpy/libs/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/libs
        copying mlpy/libs/classifier.pyd -> build/lib.linux-x86_64-3.6/mlpy/libs
        copying mlpy/libs/hmmc.pyd -> build/lib.linux-x86_64-3.6/mlpy/libs
        copying mlpy/libs/noconflict.py -> build/lib.linux-x86_64-3.6/mlpy/libs
        creating build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/array_helper.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/array_helper.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/c45tree.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/c45tree.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/classifier.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/classifier.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/classifier_module.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/classifier_module.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/coord.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/coord.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/random.cc -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        copying mlpy/libs/classifier/random.h -> build/lib.linux-x86_64-3.6/mlpy/libs/classifier
        creating build/lib.linux-x86_64-3.6/mlpy/libs/hmmc
        copying mlpy/libs/hmmc/hmm.c -> build/lib.linux-x86_64-3.6/mlpy/libs/hmmc
        copying mlpy/libs/hmmc/hmm.h -> build/lib.linux-x86_64-3.6/mlpy/libs/hmmc
        copying mlpy/libs/hmmc/hmmc_module.c -> build/lib.linux-x86_64-3.6/mlpy/libs/hmmc
        copying mlpy/libs/hmmc/hmmc_module.h -> build/lib.linux-x86_64-3.6/mlpy/libs/hmmc
        creating build/lib.linux-x86_64-3.6/mlpy/mdp
        copying mlpy/mdp/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/mdp
        copying mlpy/mdp/discrete.py -> build/lib.linux-x86_64-3.6/mlpy/mdp
        copying mlpy/mdp/distrib.py -> build/lib.linux-x86_64-3.6/mlpy/mdp
        copying mlpy/mdp/stateaction.py -> build/lib.linux-x86_64-3.6/mlpy/mdp
        creating build/lib.linux-x86_64-3.6/mlpy/mdp/continuous
        copying mlpy/mdp/continuous/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/mdp/continuous
        copying mlpy/mdp/continuous/casml.py -> build/lib.linux-x86_64-3.6/mlpy/mdp/continuous
        creating build/lib.linux-x86_64-3.6/mlpy/modules
        copying mlpy/modules/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/modules
        copying mlpy/modules/patterns.py -> build/lib.linux-x86_64-3.6/mlpy/modules
        creating build/lib.linux-x86_64-3.6/mlpy/optimize
        copying mlpy/optimize/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/optimize
        copying mlpy/optimize/algorithms.py -> build/lib.linux-x86_64-3.6/mlpy/optimize
        copying mlpy/optimize/utils.py -> build/lib.linux-x86_64-3.6/mlpy/optimize
        creating build/lib.linux-x86_64-3.6/mlpy/planners
        copying mlpy/planners/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/planners
        copying mlpy/planners/discrete.py -> build/lib.linux-x86_64-3.6/mlpy/planners
        creating build/lib.linux-x86_64-3.6/mlpy/planners/explorers
        copying mlpy/planners/explorers/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/planners/explorers
        copying mlpy/planners/explorers/discrete.py -> build/lib.linux-x86_64-3.6/mlpy/planners/explorers
        creating build/lib.linux-x86_64-3.6/mlpy/search
        copying mlpy/search/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/search
        copying mlpy/search/informed.py -> build/lib.linux-x86_64-3.6/mlpy/search
        creating build/lib.linux-x86_64-3.6/mlpy/stats
        copying mlpy/stats/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/stats
        copying mlpy/stats/_conditional.py -> build/lib.linux-x86_64-3.6/mlpy/stats
        copying mlpy/stats/_discrete.py -> build/lib.linux-x86_64-3.6/mlpy/stats
        copying mlpy/stats/_multivariate.py -> build/lib.linux-x86_64-3.6/mlpy/stats
        copying mlpy/stats/_stats.py -> build/lib.linux-x86_64-3.6/mlpy/stats
        creating build/lib.linux-x86_64-3.6/mlpy/stats/dbn
        copying mlpy/stats/dbn/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/stats/dbn
        copying mlpy/stats/dbn/hmm.py -> build/lib.linux-x86_64-3.6/mlpy/stats/dbn
        creating build/lib.linux-x86_64-3.6/mlpy/stats/models
        copying mlpy/stats/models/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/stats/models
        copying mlpy/stats/models/_basic.py -> build/lib.linux-x86_64-3.6/mlpy/stats/models
        copying mlpy/stats/models/mixture.py -> build/lib.linux-x86_64-3.6/mlpy/stats/models
        creating build/lib.linux-x86_64-3.6/mlpy/tools
        copying mlpy/tools/__init__.py -> build/lib.linux-x86_64-3.6/mlpy/tools
        copying mlpy/tools/configuration.py -> build/lib.linux-x86_64-3.6/mlpy/tools
        copying mlpy/tools/log.py -> build/lib.linux-x86_64-3.6/mlpy/tools
        copying mlpy/tools/misc.py -> build/lib.linux-x86_64-3.6/mlpy/tools
        running build_ext
        building 'classifier' extension
        creating build/temp.linux-x86_64-3.6
        creating build/temp.linux-x86_64-3.6/mlpy
        creating build/temp.linux-x86_64-3.6/mlpy/libs
        creating build/temp.linux-x86_64-3.6/mlpy/libs/classifier
        x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.6-EKG1lX/python3.6-3.6.5=. -specs=/usr/share/dpkg/no-pie-compile.specs -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/lib/python3.6/dist-packages/numpy/core/include -I/usr/include/python3.6m -c mlpy/libs/classifier/classifier_module.cc -o build/temp.linux-x86_64-3.6/mlpy/libs/classifier/classifier_module.o
        cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
        mlpy/libs/classifier/classifier_module.cc: In function ‘PyObject* initclassifier()’:
        mlpy/libs/classifier/classifier_module.cc:33:7: error: ‘Py_InitModule3’ was not declared in this scope
           m = Py_InitModule3("classifier", ClassifierMethods, "Classification module");
               ^~~~~~~~~~~~~~
        mlpy/libs/classifier/classifier_module.cc:33:7: note: suggested alternative: ‘Py_Initialize’
           m = Py_InitModule3("classifier", ClassifierMethods, "Classification module");
               ^~~~~~~~~~~~~~
               Py_Initialize
        mlpy/libs/classifier/classifier_module.cc:34:18: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive]
           if (m == NULL) return;
                          ^~~~~~
        mlpy/libs/classifier/classifier_module.cc:37:4: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive]
            return;
            ^~~~~~
        mlpy/libs/classifier/classifier_module.cc:42:4: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive]
            return;
            ^~~~~~
        mlpy/libs/classifier/classifier_module.cc:48:4: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive]
            return;
            ^~~~~~
        mlpy/libs/classifier/classifier_module.cc:53:4: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive]
            return;
            ^~~~~~
        mlpy/libs/classifier/classifier_module.cc:58:4: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive]
            return;
            ^~~~~~
        mlpy/libs/classifier/classifier_module.cc:63:4: error: return-statement with no value, in function returning ‘PyObject* {aka _object*}’ [-fpermissive]
            return;
            ^~~~~~
        mlpy/libs/classifier/classifier_module.cc:68:2: warning: control reaches end of non-void function [-Wreturn-type]
          }
          ^
        error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    
        ----------------------------------------
    
    Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-l2ob_og8/mlpy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-anrvg2fg-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-l2ob_og8/mlpy/
    
    1. 如果页面延迟加载。这里为您创建模块的每个页面。 提示:使用离子CLI无需手动创建page / page.modules。只需运行:@NgModule({ declarations: [ ConferenceApp, AboutPage, AccountPage, LoginPage, MapPage, PopoverPage, SchedulePage, ScheduleFilterPage, SessionDetailPage, SignupPage, SpeakerDetailPage, SpeakerListPage, TabsPage, TutorialPage, SupportPage ], imports: [ BrowserModule, HttpModule, IonicModule.forRoot(ConferenceApp, {}, { links: [ { component: TabsPage, name: 'TabsPage', segment: 'tabs-page' }, ... ] }), IonicStorageModule.forRoot() ], ... 。结果应类似于:
    2. <强> tabs.module.ts:

      ionic g page TabsPage

      <强> tabs.ts:

      import { NgModule } from '@angular/core';
      import { TranslateModule } from '@ngx-translate/core';
      import { IonicPageModule } from 'ionic-angular';
      
      import { TabsPage } from './tabs';
      
      @NgModule({
        declarations: [
          TabsPage,
        ],
        imports: [
          IonicPageModule.forChild(TabsPage),
      
        ],
        exports: [
          TabsPage
        ]
      })
      export class TabsPageModule { }