2016-12-28 2 views
3

Я пишу новое сообщение о проблеме, чтобы дать более подробную информацию.Ионный 2: «Имущество« номер »не существует в типе« typeof »

Я пытаюсь создать класс в моем проекте ионных 2, я использую этот код:

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

@Component({ 
    templateUrl: 'field.html' 
}) 

export class test { 
    x : number; 
    constructor(x : number){ 
     this.x = x; 
    } 
} 

Я хочу, чтобы использовать его в моем другом компоненте. Это работа, когда компилировать его с помощью «ионной подачи» в моем терминале. Но когда я пытаюсь скомпилировать на своем телефоне Android, у меня есть эта ошибка:

[09:54:06] Error at C:/xampp/htdocs/AppFineMobile/.tmp/classes/fieldSpecs/test.ngfactory.ts:42:71 
[09:54:06] Property 'number' does not exist on type 'typeof 
      "C:/xampp/htdocs/AppFineMobile/.tmp/classes/fieldSpecs/test"'. 
[09:54:06] ngc failed 
[09:54:06] ionic-app-script task: "build" 
[09:54:06] Error: Error 

npm ERR! Windows_NT 10.0.14393 
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build" 
npm ERR! node v7.0.0 
npm ERR! npm v3.10.8 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] build: `ionic-app-scripts build` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] build script 'ionic-app-scripts build'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the ionic-hello-world package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  ionic-app-scripts build 
npm ERR! You can get information on how to open an issue for this project with: 
npm ERR!  npm bugs ionic-hello-world 
npm ERR! Or if that isn't available, you can get their info via: 
npm ERR!  npm owner ls ionic-hello-world 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  C:\xampp\htdocs\AppFineMobile\npm-debug.log 

Я не понимаю, почему. Сначала я пытаюсь использовать тот же код в файле поставщика, но та же проблема.

У кого-нибудь есть идеи?

+0

Вместо этого просто используйте 'constructor (private x: number) {// ...}'. Делая это, вам не нужно объявлять свойство 'private' в компоненте, так как машинопись объявляет его для вас. – sebaferreras

+1

Хорошо спасибо, я изменил это. Но это не решение. :) –

+1

Конечно, вот почему это всего лишь комментарий, а не ответ :) – sebaferreras

ответ

0

меня найти решение, но я думаю, что это не то, что мне действительно нужно сделать:

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

@Component({ 
    templateUrl: 'field.html' 
}) 

export class test { 
    x : number; 
    constructor(){} 

    initClass(x : number) { 
     this.x = x; 
    } 
} 

Мой конструктор остаться пустым, и я пишу параметр на другой метод. Это работа, но если у кого-то есть истинная коррекция моей проблемы, я говорю «да». : D

2

Когда класс украшен @component, классы создаются с помощью рамки угла Dependency Injection, где он пытается найти поставщиков из типа параметров конструктора в качестве ключа, чтобы найти его.

Примитивные типы, такие как string, number, boolean, Object не работают как ключи. Я не уверен, почему это не сработало с ionic serve. Вы можете узнать больше о DIhere.

+0

Это работа с ионной подачей, потому что она не компилируется с NGC. –

+0

Возможно, что-то связано с компиляцией времени выполнения. – raj

Смежные вопросы