出于某种原因,我必须在生产模式下运行我的应用程序.这些模式有什么区别?
我试图在用户点击按钮时打开一个新窗口,如下所示:
protected assignActity(type: string): void {
var window = window.open('/#/link');
this.Service.assignActivity(type).subscribe(res => {
window.location = '/#/link/' + res;
console.log(res);
})
}
Run Code Online (Sandbox Code Playgroud)
但是它引发了一个错误:
core.umd.js:3468 TypeError: Cannot read property 'open' of undefined
Run Code Online (Sandbox Code Playgroud)
如何纠正它让它工作?
我正在开发一个带有angular2和gulp的节点应用程序.我已经编写了一个组件文件login.ts,如下所示:
import {Component, View} from 'angular2/angular2';
import {FormBuilder, formDirectives } from 'angular2/forms';
@Component({
selector: 'login',
injectables: [FormBuilder]
})
@View({
templateUrl: '/scripts/src/components/login/login.html',
directives: [formDirectives]
})
export class login {
}
Run Code Online (Sandbox Code Playgroud)
我的bootstrap.ts文件是:
import {bootstrap} from 'angular2/angular2';
import {login} from './components/login/login';
bootstrap(login);
Run Code Online (Sandbox Code Playgroud)
但是当我编译这些文件时,它会给我以下错误:
client\bootstrap.ts(1,25): error TS2307: Cannot find module 'angular2/angular2'.
client\components\login\login.ts(1,31): error TS2307: Cannot find module 'angular2/angular2
client\components\login\login.ts(2,45): error TS2307: Cannot find module 'angular2/forms'.
Run Code Online (Sandbox Code Playgroud)
这是我的tsconfig.json:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true,
"watch": true,
"removeComments": true,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": …
Run Code Online (Sandbox Code Playgroud) 我正在使用Angular2开发NodeJS应用程序.在我的应用程序中,我有一个主页和搜索页面.对于主页,我有一个HTML页面,它将为localhost:3000 /和主页用户导航到搜索,即localhost:3000 / 我通过angular2路由处理的搜索页面.
我没有搜索页面的页面,其视图由angular2呈现.但是当我直接命中localhost:3000/search因为我在我的节点应用程序中没有这个路由时它会给出错误.
我不知道如何在节点应用程序中处理这个?
这是我的架构:
var UserSchema = new Schema({
email: String,
name: String,
city: String,
username: String,
profilePic: String,
phoneNo: Number,
shortList: {
project: [{ type: Schema.ObjectId, ref: "Project" }],
flat: [{ type: Schema.ObjectId, ref: "Flat" }],
},
});
var FlatSchema = new Schema({
project: { type: Schema.ObjectId, ref: "Project" },
status: String,
floor: Number,
size: String,
type: String,
flat_number: String,
price: Number,
flooringType: String,
createdAt: { type: Date, 'default': Date.now },
isDeleted: { type: Boolean, 'default': false },
});
var ProjectSchema = …
Run Code Online (Sandbox Code Playgroud) 我正在使用typescript中的nodejs app,我在其中写了一个文件server.js作为fallow:
import express = require('express');
import mongoose = require('mongoose');
let app=express();
app.set('port', process.env.PORT || 3000); // Set port to 3000 or the provided PORT variable
/**
* Start app
*/
app.listen(app.get('port'), function() {
console.log(`App listening on port ${app.get('port')}!`);
});
Run Code Online (Sandbox Code Playgroud)
我使用gulp traspile生成js文件为
define(["require", "exports", 'express'], function (require, exports, express) {
var app = express();
app.set('port', process.env.PORT || 3000); // Set port to 3000 or the provided PORT variable
/**
* Start app
*/
app.listen(app.get('port'), function () {
console.log("App listening on …
Run Code Online (Sandbox Code Playgroud) 我正在开发 angular2 应用程序,其中我的团队成员使用 getter 和 setter 来设置输入属性,如下所示
private _showModal;
@Input() set showModal(showModal){
this._showModal = showModal;
}
get showModal() {
return this._showModal;
}
Run Code Online (Sandbox Code Playgroud)
但我不确定这是一个很好的方法来做到这一点。我认为在开发人员必须在设置或获取值时进行一些验证或检查或执行其他一些功能的情况下,应该使用 getter setter
我有一张桌子如下
cat_id Cat_Name Main_Cat_Id
1 veg null
2 main course 1
3 starter 1
4 Indian 2
5 mexican 2
6 tahi 3
7 chinese 3
8 nonveg null
9 main course 8
10 indian 9
11 starter 8
12 tahi 11
13 chinese 11
Run Code Online (Sandbox Code Playgroud)
(Main_Cat_Id是之前添加的类别的cat_id)
这个表被用于类别其中产品蔬菜类有两个子类别主菜和起动机,其是通过识别main_cat_id 和那些子类别再次具有子类别如印度和墨西哥
这种分类取决于用户; 他可以为印度人,墨西哥人添加更多子类别,以便他可以进行任何级别的分类
现在我必须选择任何节点的所有子类别,如果我采取veg我必须选择
(1)veg > (2)main course(1) > (4)indian(2)
> (5)mexican(2)
> (3)starter(1) > (6)thai(3)
> (7)chinese(3)
Run Code Online (Sandbox Code Playgroud)
形成字符串1,2,4,5,3,6,7 …
我正在使用sendgrid发送电子邮件.但是当我尝试创建电子邮件对象时,如下所示
let email = new sendgrid.Email();
email.addTo("rhushikeshl@test.com");
email.setFrom("customercare@test.com");
email.setSubject("New Unit Added");
email.setHtml("New unit addded </br> Unit Id =" + savedUnit._id);
sendgrid.send(email, function(err, json) {
if (err) {
console.log("Error: " + err);
} else {
console.log(json);
}
});
Run Code Online (Sandbox Code Playgroud)
但它给出了错误
https://sendgrid.com/docs/Integrate/Code_Examples/v2_Mail/nodejs.html
我正在开发 angular2,我已经创建了服务并在组件中使用 @Inject 注入这些服务。我对 @Injectable() 在服务本身中的使用以及它产生的差异感到困惑。
angular ×6
node.js ×3
typescript ×3
email ×1
inject ×1
injectable ×1
javascript ×1
mongodb ×1
mongoose ×1
sendgrid ×1
sql-function ×1
sql-server ×1
tabs ×1
window ×1