我已经阅读了几篇关于::-webkit-input-placeholder在HTML5中使用输入字段的占位符样式的文章.它完美无缺,除了一件事.
如果我尝试将font-size增加到高于16px的值,则文本会在底部"剪切".无论输入本身的高度和填充如何,都会发生这种情况.有没有人知道一种避免这个问题的方法,使用纯CSS还是javascript?
我添加了两个输入字段的屏幕截图,其中占位符的字体大小为20px

Jsfiddle:https://jsfiddle.net/bvwdg86x/
我有一个我想要迭代的字符串列表,但我希望能够使用搜索词来过滤它们.像这样:
<div *ngFor="#item in list | search: searchTerm">{{ item }}</div>
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何检查管道是否返回列表的空子集?
换句话说,如果所有字符串都不匹配搜索词,我想显示一条消息:"No matches".
我试图在使用EventEmitter的组件使用的指令中触发事件.
零件:
@Component({
selector: 'messages',
templateUrl: 'static/pages/messages/messages.component.html',
directives: [AutoScroll],
events: ['update'],
providers: [
HTTP_PROVIDERS,
RoomService,
],
styleUrls: ['../static/css/messages.component.css', '../static/css/app.component.css']
})
export class MessagesComponent {
public selectedRoom: Room = <Room>{};
@Output()
public update: EventEmitter;
constructor (private _roomService: RoomService) {
this.update = new EventEmitter();
}
public postMessage (msg) {
this.update.next({});
this._roomService.postMessage(msg)
.subscribe(res => {
this.selectedRoom.messages.push(res);
});
}
}
Run Code Online (Sandbox Code Playgroud)
HTML模板:
<auto-scroll class="chat-messages" (update)="onUpdate($event)">
<div class="chat-message" *ngFor="#message of selectedRoom.messages">
<div class="message-content">
{{ message.text }}
</div>
</div>
</auto-scroll>
Run Code Online (Sandbox Code Playgroud)
指示:
@Directive({
selector: 'auto-scroll',
template: '<div></div>'
}) …Run Code Online (Sandbox Code Playgroud) 我使用一个可观察的间隔在某个组件中每五秒执行一个特定的功能,与我的路由配置中的路径相关.
Observable.interval(5000).subscribe(res => {
// Something happens here
});
Run Code Online (Sandbox Code Playgroud)
但是我希望在路径更改时终止间隔.现在它继续执行任务......
做这个的最好方式是什么?
给定两个不同的模型,它们具有相同的父基类。是否可以使用Django Rest Framework序列化程序或serpy序列化包含两个子模型的实例的链表?
给定一些示例模型:
class BaseModel(models.Model):
created_at = models.DateField()
class Meta:
abstract = True
class ChildModel1(BaseModel):
field_one = models.TextField()
class ChildModel2(BaseModel):
field_two = models.TextField()
Run Code Online (Sandbox Code Playgroud)
还有一个示例视图:
def get(self, request):
q1 = ChildModel1.objects.all()
q2 = ChildModel2.objects.all()
chained_list = sorted(
chain(q1, q2),
key=attrgetter('created_at'))
serializer = BaseModelSerializer(chained_list, many=True)
Run Code Online (Sandbox Code Playgroud)
链接模型的方法来自该问题的答案。
通过我目前的尝试,我得到了一个非常明显的错误,内容如下:
AttributeError: 'ChildModel1' object has no attribute 'field_two'
Run Code Online (Sandbox Code Playgroud)
我知道将两种模型与不同领域混合使用不是最佳做法,但就我而言,我认为这是必要的。
我测试过的一些序列化器示例:
第一个例子:
class BaseModelSerializer(serializers.ModelSerializer):
class Meta:
model = BaseModel
Run Code Online (Sandbox Code Playgroud)
第二个例子:
class BaseModelSerializer(serpy.Serializer):
created_at = serpy.StrField()
field_one = serpy.StrField(required=False)
field_two = serpy.StrField(required=False)
Run Code Online (Sandbox Code Playgroud) 我正在用web api编写我的第一个有角度的应用程序,我在调用工厂函数方面遇到了一些问题.
我有两个看起来像这样的工厂:
main.factory('Table', function ($http, $log) {
return {
build: function (token, cubeid) {
return $http({
method: 'POST',
url: 'http://localhost:50051/api/structure/cube',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
transformRequest: function (obj) {
var str = [];
for (var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
return str.join("&");
},
data: { token: token, cubeId: cubeid }
});
}
};
});
main.factory('Login', function ($http, $log) {
return {
authorize: function (username, password) {
return $http({
method: 'POST',
url: 'path/to/api/',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' …Run Code Online (Sandbox Code Playgroud) angular ×3
typescript ×2
angularjs ×1
css ×1
django ×1
factory ×1
html5 ×1
javascript ×1
ngfor ×1
observable ×1
pipe ×1
placeholder ×1
python ×1
typeerror ×1