我正在开发页面,现在我的css风格我有这行代码
.flex-control-thumbs li {
width: 25%;
float: left;
margin: 0;
}
Run Code Online (Sandbox Code Playgroud)
对于我的网页.现在,我的一些页面不需要这一行
width: 25%;
float: left;
Run Code Online (Sandbox Code Playgroud)
我可以在页面的内部css中覆盖它,这会导致原始行为被忽略吗?
我已经定义了SCSS变量,src/styles/settings/_variables.scss并将它们导入src/styles.scss,但是仍然不是每个组件都可以使用这些变量。
有什么办法可以创建一个包含其余组件所有SCSS变量的全局文件?因为@import在每个单个组件.scss文件中编写文件都非常令人沮丧,尤其是当我有许多嵌套组件时。
我知道,有很多类似的问题,但似乎它们都已过时,并且与Angular的最新版本无关。
我将Angular 7.3与CLI一起使用。
我正在使用 LSSerializer `linked below' 来序列化我的应用程序中的 xml 文档,现在我从 java 8 迁移到 11,我发现序列化的 xml 文档缺少默认的 xml 命名空间属性(“xmlns”)。似乎 jdk 8 中使用的 LSSerializer 实现已被 jdk 9 取代。并且新的实现在序列化 DOM 文档时错过了 xmlns 属性(一个错误?)
为了说明这个问题,以下代码在 java 11 中编译和运行时会遗漏 xml 中的 xmlns 属性(它在 java 8 中工作正常)
import org.w3c.dom.*;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSOutput;
import org.w3c.dom.ls.LSSerializer;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.*;
public class Test {
public static void main(String[] args) {
String xml = "<bio><body xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:xfa=\"http://www.xfa.org/schema/xfa-data/1.0/\"><p>test</p></body></bio>";
try {
InputStream inputStream = new ByteArrayInputStream(xml.getBytes("UTF-8"));
DocumentBuilder …Run Code Online (Sandbox Code Playgroud) 我对 ViewChild 和 NgModel 有点困惑。谁能给我关于何时使用 Viewchild 和 ngModel 的明确答案?我知道两者都会指向一个特定的元素,你可以使用这些对象来获取元素的当前值。
我正在尝试找出在Angular 6中获取当前路线参数的最佳方法是什么。
此刻,我必须将传递ActivatedRoute给服务的方法作为参数,然后在服务中使用它。
export class MainComponent {
constructor(private dataService: DataService, private activeRoute: ActivatedRoute) { }
getChartsData() {
return this.dataService(this.activeRoute);
}
}
@Injectable({
providedIn: "root"
})
export class DataService {
getChartsData(activatedRoute) {
if (activatedRoute.snapshot.params['id']) {
...
} else {
...
}
}
}
Run Code Online (Sandbox Code Playgroud) 我读到,无论是出于安全性还是性能考虑,直接与 DOM 交互都是不明智的。避免使用如下语法来选择元素。
const itemToManipulate = document.getElementById('example');
Run Code Online (Sandbox Code Playgroud)
所以我读到一个很好的解决方法是使用 ElementRef Directive。但是继续下去发现Angular Documents建议不要这样做,因为紧耦合,什么是紧耦合?
我决定使用 ViewChild,就像这样......
@ViewChild('itemToManipulate') public item: ElementRef<any>;
Run Code Online (Sandbox Code Playgroud)
这是否会导致我应该担心的任何不良行为(安全/性能方面),是否有与 DOM 交互的最佳实践,或者这不应该在 Angular 中完成(6 / 7)?
提前致谢。
我有这样的bootstrap布局:
<div class="row">
<div class="col-md-2">
1
</div>
<div class="col-md-8">
2
</div>
<div class="col-md-2">
3
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:
1 2 3
在移动设备上,第1列位于顶部,这就是我想要的,但是我希望3列出现在第二列,然后2列成为第三列.
这可能吗?
我有一个启用排序的网格设置。每行都有一个重复按钮。复制行时,我想在复制的行下方插入新行。这适用于默认排序,但如果您对列进行排序(例如状态),它会将该行随机插入到网格中,从而很难找到。
我注意到网格在保存过程中的某个时候会进行排序,但在它得到分配新 ID 的响应之前。
我尝试使用 updateRowData(transaction) 和 addIndex 添加行,但它要么不插入任何内容,要么忽略索引。
我确实可以访问 postSort 中的任何组件变量,但在 postSort 后我只能收到带有 ID 的响应。
cloneRow(item: any): void {
let newRow = JSON.parse(JSON.stringify(item.data)) as Object;
newRow.gridItemId = null;
this.index = this.api.getFocusedCell().rowIndex;
this.selectRow(newRow, ++index);
this.saveRow(newRow);
}
selectRow(newRow: Object, index: number) {
this.selectedObject = [];
this.gridItemList.splice(index, 0, newRow);
this.api.setFocusedCell(index, "ColumnName");
this.api.startEditingCell({
rowIndex: index,
colKey: "ColumnName"
});
}
saveRow(newRow: Object): void {
let objectsToSave = new Array<Object>();
objectsToSave.push(newRow);
this.CustomService.saveRow(objectsToSave)
.subscribe(
(response) => {
if (!newRow.rowId) {
newRow.rowId = response[0].rowId;
}
this.gridItemList.filter(g => …Run Code Online (Sandbox Code Playgroud) 在文件 models/User.model.ts(见下文)中,我尝试设置一个方法 isEqual,如下面的代码所示。有人可以更正我的代码吗?
文件模型/User.model.ts:
export class User {
constructor(
public firstName: string,
public lastName: string,
) {}
isEqual (other : User): boolean {
return other === this;
}
}
Run Code Online (Sandbox Code Playgroud)
文件服务/user.service.ts :
import { User } from '../models/User.model';
import { Subject } from 'rxjs/Subject';
export class UserService {
private users: User[] = [
{
firstName: 'William',
lastName: 'Jones'
},
{
firstName: 'John',
lastName: 'Doe'
}
];
Run Code Online (Sandbox Code Playgroud)
...
services/user.service.ts(7,2) 中的错误:错误 TS2741:类型“{ firstName: string;”中缺少属性“isEqual”;lastName: string;}' 但在类型 'User' 中是必需的。
我正在尝试在Angular应用中显示对话列表,然后在每个“ 对话标题”下显示各种对话中包含的消息。
这是我的最新代码-
HTML:
<div
class="card"
style="width: 18rem;"
*ngFor="let conversation of myConversations"
>
<div class="card-body">
<h5 class="card-title">{{ conversation.conversationTitle }}</h5>
<h6 class="card-subtitle mb-2 text-muted">
Conversation ID: {{ conversation.conversationId }}
</h6>
<p *ngFor="let message of myConversationMessages" class="card-text">
{{ message.messageText }}
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
TS:
myConversations: IConversation[] = [];
myConversationMessage: IConversationMessages = {
conversationId: 0,
messageId: 0,
messageText: ''
};
myConversationMessages: IConversationMessages[] = [];
constructor(private conversationService: ConversationService) {}
ngOnInit() {
this.conversationService.getConversations().subscribe(conversations => {
this.myConversations = conversations;
this.displayMessages();
});
}
displayMessages() {
for (let …Run Code Online (Sandbox Code Playgroud)