小编Hay*_*ers的帖子

用ember选择下拉列表

我正在尝试生成一个选择输入并将所选对象传递给视图上的change事件.ember联系人示例使用a <ul>但是选择视图需要在每个视图之外,否则甚至不会触发更改.

这是js的视图:

App.SelectView = Ember.View.extend({

    change: function(e) {
        //event for select
        var content = this.get('content');
        console.log(content);   

        App.selectedWidgetController.set('content', [content]);
    },
    click: function(e) {
        //event for ul
        var content = this.get('content');
        console.log(content);   

        App.selectedWidgetController.set('content', [content]);
    }
});
Run Code Online (Sandbox Code Playgroud)

ul从示例工作:

<ul>
    {{#each App.widgetController.content}}
        {{#view App.SelectView contentBinding="this"}}
            <li>{{content.name}}</li>
        {{/view}}
    {{/each}}
</ul>
Run Code Online (Sandbox Code Playgroud)

但是,如果我直接替换html,则不会触发更改事件(这是有道理的)

<select>
    {{#each App.widgetController.content}}
        {{#view App.SelectView contentBinding="this"}}
            <option>{{content.name}}</option>
        {{/view}}
    {{/each}}
</select>
Run Code Online (Sandbox Code Playgroud)

所以我想select必须包含在视图中..在这种情况下我如何传递相关对象?...这段代码导致整个数组被传递:

{{#view App.select_view contentBinding="App.widgetController.content"}}
    <select>
    {{#each App.widgetController.content}}
        <option>{{name}}</option>
    {{/each}}
    </select>
{{/view}}
Run Code Online (Sandbox Code Playgroud)

ember.js

19
推荐指数
1
解决办法
2万
查看次数

如何覆盖或冒泡 javascript try/catch 块

我有一个使用一些外部库的应用程序。这些库使用 try/catch 块来处理错误。有没有一种方法可以强制它们冒泡到我控制的函数,以便我可以将它们发布到我的服务器,而不是编辑库并删除 try/catch 块?

这是一个例子

'parseBindingsString': function(bindingsString, bindingContext, node, options) {
        try {
            var bindingFunction = createBindingsStringEvaluatorViaCache(bindingsString, this.bindingCache, options);
            return bindingFunction(bindingContext, node);
        } catch (ex) {
            ex.message = "Unable to parse bindings.\nBindings value: " + bindingsString + "\nMessage: " + ex.message;
            throw ex;
        }
    }
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
1
解决办法
2799
查看次数

python regexp适用于在线测试,但不适用于程序

我试过了两个

color_regex_test1 = re.compile('[#]\w{3,6}')
print(color_regex_test1.match('color: #333;'))
Run Code Online (Sandbox Code Playgroud)

color_regex_test2 = re.compile('([#]\w{3,6})')
print(color_regex_test2.match('color: #333;'))
Run Code Online (Sandbox Code Playgroud)

并且都没有像我预期的那样工作..他们都打印无. https://pythex.org/暗示它应该有效

python regex python-3.x

4
推荐指数
1
解决办法
542
查看次数

我怎么能解开一个emberjs车把帮手

我有一个自定义车把帮手:

Handlebars.registerHelper('foo', function(key) {
    return (key + ' bar');
});
Run Code Online (Sandbox Code Playgroud)

在我的HTML中我有:

{{foo beer}}
Run Code Online (Sandbox Code Playgroud)

结果是

<div id="ember127" class="ember-view">beer bar</div>
Run Code Online (Sandbox Code Playgroud)

如何让自己的车把助手像炭烬{{unbound beer}}一样,只生产"啤酒吧"而不需要任何额外的标记?

handlebars.js ember.js

3
推荐指数
2
解决办法
1819
查看次数

将javascript中的数字压缩为二进制格式

我需要在尽可能少的数据中将以下内容转换为二进制格式(以后再补偿).

my_arr = [
        [128,32 ,22,23],
        [104,53 ,21,25],
        [150,55 ,79,23],
        [104,101,23,8 ],
        [57 ,117,13,21],
        [37 ,135,21,20],
        [81 ,132,23,6 ],
        [81 ,138,7 ,8 ],
        [97 ,138,7 ,8 ]...
Run Code Online (Sandbox Code Playgroud)

数字不超过399

如果我为每个数字使用0(连续8个0 = 8)和1作为分隔符,则第一行看起来像这样:010010000000011000100110010011001000这对于像99这样的数字来说真的很长

如果我将每个数字填充为三位数并将每个数字依次转换为实际二进制数,则第一行如下所示:000100101000000000110010000000100010000000100011这个数字为12个字符.

由于第一个字母不会是4或更高,我可以通过将0视为00,将1视为01,将2视为10和将3视为11来节省两个数字.因此,每个数字10个字符总体而言,这会将大小减小到大约90%的第一个选项(平均)但是有一个更短的方式?

编辑:是一个1和0的字符串...它不需要比原始整数短......只用最短的方式只用2个符号写它

javascript compression

0
推荐指数
1
解决办法
496
查看次数