- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我的 fileInput 元素在一个普通的 div 中,那么它工作正常。但是如果我把它放在 <ng-template></ng-template>
里面然后我得到它未定义。
这是我的代码:
HTML
<ng-template #content let-c="close" let-d="dismiss">
<div class="modal-header">
<h4 class="modal-title">Modal title</h4>
<button type="button" class="close" aria-label="Close" (click)="d('Cross click')"></button>
</div>
<div class="modal-body">
<form #documentsForm="ngForm" (ngSubmit)="onEditSubscriberDocumentsSubmit(documentsForm.value);documentsForm.reset()">
<input #fileInput type="file" #select name="document" [(ngModel)]="document" (click)="onDocUpload()" />
<input type="submit" value="Save" class="btn btn-success" [hidden]="addDocHidden">
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-dark" (click)="c('Close click')">Close</button>
</div>
</ng-template>
TS
import { Component, OnInit, ViewChild , ElementRef} from '@angular/core';
export class EditSubscriberComponent {
constructor(private http: Http, private route: ActivatedRoute, private router: Router, private modalService: NgbModal) { }
@ViewChild("fileInput") fileInput: ElementRef;
ngOnInit() {
console.log(this.fileInput)
// This is undefined. If I place the <input #fileInput type="file">
// in the main div,not under ng-template, then I am getting the
// desired output
}
}
请建议我如何从 ng-template 访问 ViewChild
最佳答案
您可以使用 setter:
@ViewChild("fileInput")
set fileInput(val: ElementRef) {
if(val) {
console.log(val);
}
}
或订阅 @ViewChildren
更改:
@ViewChildren("fileInput") fileInputs: QueryList<ElementRef>;
ngAfterViewInit() {
this.fileInputs.changes.subscribe(x => {
if(x.length) {
console.log(x[0]);
}
})
}
或者如果您确切知道模板何时初始化,则只需使用 @ViewChild
@ViewChild("fileInput") fileInput: ElementRef;
...
this.vcRef.createEmbeddedView(this.template); // pseudo code
console.log(this.fileInput);
关于Angular ViewChild fileInput 注释未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46251282/
在 fileinput.Fileinput (或其他模块/类)中是否有一种方法可以将整个文件读入内存,以便我可以用列表中的文本 block 替换文件中的文本 block (保存在内存)。 有一个 .r
我正在尝试使用 glob 打开多个文件并通过一系列函数提供它们。我的一些文件是 gzip 压缩的,有些是 bz2,有些是纯文本。我通常使用 fileinput,但无法弄清楚让它接受压缩文件的语法。基于
我正在尝试使用 Python FileInput 类编辑文本文件。首先,我将需要写入的行存储在字典中。然后我遍历该字典,如果字典 [key] 与该行中的任何行匹配,我就用字典键值对替换该行。如果文件中
我正在尝试替换文件中的多个字符串。 我的文件可能包含如下内容: 文件1: #groovy some test some more test REPLACE_1 REPLACE_OPTIONAL_1 R
我在 yii2 项目中使用 kartik 文件输入小部件。 http://demos.krajee.com/widget-details/fileinput 一切都很好,直到访问更新页面,其中使用“i
我正在尝试更改 Shiny 中 fileInput 小部件中上传进度条的颜色。我是一个有点 Shiny 的新手,在互联网上搜索过但没有结果。有什么想法吗? 最佳答案 这是一个示例应用程序,我使用 CS
如果我的 fileInput 元素在一个普通的 div 中,那么它工作正常。但是如果我把它放在 里面然后我得到它未定义。 这是我的代码: HTML Modal title
如果我的 fileInput 元素在一个普通的 div 中,那么它工作正常。但是如果我把它放在 里面然后我得到它未定义。 这是我的代码: HTML Modal title
当我使用 Krajees Bootstrap Fileinput 上传文件时,我会对文件执行服务器端验证。当出现问题时,我只需使用 {error:'Something goneError'} 输出 J
for line in fileinput.FileInput("file.txt", inplace=1): if "success" in line: print(line) 当我使用
我试图在一个小型 python 程序中将用户输入作为函数调用来获取,但是,当我使用 input() 方法时,python shell 不允许我输入任何内容并退出本身。 from fileinput i
我正在制作一个脚本,它从终端获取一个文件作为输入。为了做到这一点,我调用 myScript像那样: $python myScript.py 我做错了什么? fileinput.filename()如
我在 MAC OS X 上使用 Python 2.7,并编写了一个程序来用另一个词替换文件中的一个词。每当该词出现在该文件中时,我都希望将其替换为用户指定的另一个词。它似乎在工作,但它似乎在底部输出了
我在使用 fileinput python 模块时遇到了一些奇怪的行为。如果我尝试更改的文件没有用户读取权限,它将被删除。 import fileinput try: for line in
我有一些代码正在尝试为其编写单元测试。 这是我的功能: def sanitize_text(): total_text = [] # Regex split to strip non-
我在 python 2.7 中使用 os.walk 打开多个文件,然后将这些文件的所有感兴趣的行添加到列表中。稍后我想用 fileinput 编辑这些行并关闭它。我怎样才能实现这个目标?使用下面的代码
当我像这样使用模块 fileinput 遍历一组 gzip 文件的行时: for line in fileinput.FileInput(files=gzipped_files,openhook=fi
我正在尝试使用 fileinput 模块的 inplace filtering feature就地重写输入文件。 需要将编码(读取和写入)设置为 latin-1 并尝试将 openhook=filei
我正在使用 python Panel Fileinput 小部件上传文件。上传有效,我需要用相同的文件名保存上传的数据,但我找不到访问上传的文件名的方法。 import panel as pn pn.
你能帮我减少 Shiny 中 fileInput 和 text 之间的空间吗?我想留下类似于我附上的图的东西。可执行代码如下。 谢谢! runApp( list(ui = fluidPage(
我是一名优秀的程序员,十分优秀!