我有一个组件数组,我想显示该数组中的现有组件,但它不起作用,我怀疑在ngfor中创建并显示一个新组件,而不是数组中的那个,因为我确实看到新组件被创建但是使用默认值而不是传递给它们的当前值,我做错了什么?
HTML:
<div #visualTextDiv class = "visual_text" [ngStyle]=setStyles()>
<div *ngFor="let lineCounter of visualDivArray">
<app-visual-text-div></app-visual-text-div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
打字稿:
if(this.visualDivArray.length < currentDivIndex+1){
let newv = new VisualTextDivComponent()
this.visualDivArray.push(newv);
console.log("creating new " + this.visualDivArray.length);
}
this.visualDivArray[currentDivIndex].setData(textValue);
Run Code Online (Sandbox Code Playgroud) 我有一个集合foo:
{ "_id" : ObjectId("5837199bcabfd020514c0bae"), "x" : 1 }
{ "_id" : ObjectId("583719a1cabfd020514c0baf"), "x" : 3 }
{ "_id" : ObjectId("583719a6cabfd020514c0bb0") }
Run Code Online (Sandbox Code Playgroud)
我用这个查询:
db.foo.aggregate({$group:{_id:1, avg:{$avg:"$x"}, sum:{$sum:1}}})
Run Code Online (Sandbox Code Playgroud)
然后我得到一个结果:
Run Code Online (Sandbox Code Playgroud){ "_id" : 1, "avg" : 2, "sum" : 3 }
{$sum:1}这个查询意味着什么?
我有一个组件:
示例:
selectedData = { Label:"test", IsUsed:false}
fields = [{name:'label', type:'string'},{name:'IsUsed, type:'boolean'}
Run Code Online (Sandbox Code Playgroud)
我正在尝试生成一个表单来编辑'selectedData'中的数据
以下是我观点的一部分:
<div class="ui-grid-row" *ngFor="let myField of fields" >
<div class="ui-grid-col-4"><label for="{{myField.name}}">{{myField.name}}</label></div>
<div class="ui-grid-col-8"><input pInputText id="{{myField.name}}" [(ngModel)]="this['selectedData.' + myField.name]" /></div>
</div>
Run Code Online (Sandbox Code Playgroud)
问题出在这条线上
[(ngModel)]="this['selectedData.' + myField.name]"
Run Code Online (Sandbox Code Playgroud)
它不能按我的意愿工作.以下是我编辑时的组件的Google Chrome手表:

如您所见,Angular2创建一个名为"selectedData.Label"的对象,而不是使用selectedData现有对象.
有解决方案吗?或者我应该采用不同的方式吗?
谢谢
我最近将角度2升级到稳定版本并突然在webpack观察器中开始出现此错误.Object literal's property 'avatars' implicitly has an 'any[]' type.这是给出该错误的行:private selectedContact = {'jcf': {'avatars': [], 'fullname': ''}, meta: []};它给出了相同的错误meta.
我正在尝试将热模块重新加载到我的打字稿项目中.我有以下设置:
的package.json
"start": "webpack-dev-server"
Run Code Online (Sandbox Code Playgroud)
tsconfig.js
{
"compilerOptions": {
"outDir": "/public/",
"target": "es5",
"noImplicitAny": true,
"experimentalDecorators": true,
"sourceMap": true,
"jsx": "react"
},
"include": [
"./src/**/*"
]
}
Run Code Online (Sandbox Code Playgroud)
webpack.config.js
var path = require('path');
var webpack = require('webpack');
var publicFolder = path.join(__dirname, 'public');
var sourceFolder = path.join(__dirname, 'src');
module.exports = {
devtool: 'source-map',
entry: [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
'./src/index.tsx',
],
output: {
filename: 'bundle.js',
path: publicFolder,
publicPath: publicFolder,
},
resolve: {
extensions: ['', '.webpack.js', '.web.js', '.ts', '.tsx', '.js'],
},
module: {
loaders: [
{ …Run Code Online (Sandbox Code Playgroud) 我制作了角度2的两个不同组件.我正在学习这个链接的路由 https://angular.io/docs/ts/latest/tutorial/toh-pt5.html
我制作了两个组件.在第一个组件中,我有一个按钮,我想移动到第二个组件
这是我的代码 https://plnkr.co/edit/GBOI9avZaPGaxaLQbtak
我定义这样的路线
const routes =[
{
path: 'ft',
component: First
},
{
path: 'sd',
component: Second
}
]
@NgModule({
imports: [ BrowserModule ],
declarations: [ App ],
bootstrap: [ App,First ,Second]
})
Run Code Online (Sandbox Code Playgroud)
我在用 <router-outlet>
但我无法将一个组件移动到另一个组件
在处理(通过api)通过表单提交的数据用户后,我需要将用户重定向到另一个组件.以下是我试过的代码.
在组件中
onSubmit(model){
if(model.valid === true) {
this.SharedService.postFormdata(model).subscribe(
data => { console.log(data)},
error => Observable.throw(error);
);
this.router.navigate(['PublicPage']);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,在调用完成后,它不会重定向到PublicPage组件.请帮忙.谢谢.
我正在运行来自bash的应用程序,就像这样
./app_name var1 var2 $var3
Run Code Online (Sandbox Code Playgroud)
这里var3是--a b, --c d哪里b和d不包含空格.
现在我想添加参数--e f,to $var3,但f包含空格.问题是我试图避免这一行的变化.
./app_name var1 var2 $var3
Run Code Online (Sandbox Code Playgroud)
如果我这样离开它,将app_name两部分理解f为两个不同的参数,因此无法解析.
我可以var3以某种方式改变,以便它不会分裂f成两个不同的args吗?我试过把引号放进去,逃避空间,但没有帮助.
我对如何托管应用程序感到困惑.我用cli制作了它.我只是把dist文件夹推送到我的托管服务(去爸爸)?步骤是什么?我找不到上传我的应用所需的步骤.
我已成功将数据从 plist 文件读取到表视图中。现在,我只想知道如何添加另一个带有字符串“名称”和“位置”的“项目”。
我正在寻找的是一种发送字符串以保存为新“项目”的“名称”或“位置”的方法。例如,如果我单击一个按钮,输入的信息将存储在新“项目”下的 plist 文件中。
有人能帮助我朝正确的方向前进吗?如果是你,你会怎么做?
我正在使用 Swift 3 和 Xcode 8.2.1
这是我的 .plist 文件: 在此处输入图像描述
这是我用来获取“项目”的“名称”和“位置”的代码,以便我可以将其插入表视图中:
struct SavedTracks {
let name: String
let location: String
}
extension SavedTracks {
enum ErrorType: Error {
case noPlistFile
case cannotReadFile
}
/// Load all the elements from the plist file
static func loadFromPlist() throws -> [SavedTracks] {
// First we need to find the plist
guard let file = Bundle.main.path(forResource: "SkiTracks", ofType: "plist") else {
throw ErrorType.noPlistFile
}
// Then we …Run Code Online (Sandbox Code Playgroud) angular ×6
javascript ×2
typescript ×2
angular-cli ×1
arrays ×1
bash ×1
ios ×1
linux ×1
mongodb ×1
router ×1
shell ×1
subscribe ×1
swift ×1
swift3 ×1
webpack-hmr ×1
whitespace ×1
xcode ×1