小编Val*_*sen的帖子

占位符字体大小超过16像素

我已经阅读了几篇关于::-webkit-input-placeholder在HTML5中使用输入字段的占位符样式的文章.它完美无缺,除了一件事.

如果我尝试将font-size增加到高于16px的值,则文本会在底部"剪切".无论输入本身的高度和填充如何,都会发生这种情况.有没有人知道一种避免这个问题的方法,使用纯CSS还是javascript?

我添加了两个输入字段的屏幕截图,其中占位符的字体大小为20px

在此输入图像描述

Jsfiddle:https://jsfiddle.net/bvwdg86x/

css html5 placeholder

30
推荐指数
3
解决办法
7万
查看次数

Angular 2+ - 检查Pipe是否返回原始列表的空子集

我有一个我想要迭代的字符串列表,但我希望能够使用搜索词来过滤它们.像这样:

<div *ngFor="#item in list | search: searchTerm">{{ item }}</div>
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何检查管道是否返回列表的空子集?

换句话说,如果所有字符串都不匹配搜索词,我想显示一条消息:"No matches".

pipe ngfor angular

15
推荐指数
4
解决办法
2万
查看次数

angular2 - 来自组件的指令中的触发事件

我试图在使用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)

typescript angular2-directives angular

8
推荐指数
1
解决办法
8103
查看次数

angular2 - 路径更改时终止可观察间隔的最佳方法

我使用一个可观察的间隔在某个组件中每五秒执行一个特定的功能,与我的路由配置中的路径相关.

Observable.interval(5000).subscribe(res => {
    // Something happens here
});
Run Code Online (Sandbox Code Playgroud)

但是我希望在路径更改时终止间隔.现在它继续执行任务......

做这个的最好方式是什么?

observable typescript angular

7
推荐指数
1
解决办法
4533
查看次数

Django:序列化多个链接模型的列表

给定两个不同的模型,它们具有相同的父基类。是否可以使用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)

python django serialization django-rest-framework

5
推荐指数
1
解决办法
1268
查看次数

TypeError:Factory.function不是函数

我正在用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)

javascript factory typeerror angularjs

3
推荐指数
1
解决办法
8747
查看次数