我试图创建一个基本的应用程序,使用主干,下划线和Parse.
在我的index.html中,我尝试包含一些这样的脚本:
<script data-main="js/main" src="../bower_components/requirejs/require.js"></script>
<script type="text/template" id="login-template" src="js/templates/login.js">
Run Code Online (Sandbox Code Playgroud)
当我尝试在我的骨干部分上执行以下操作时,它不起作用.
template: _.template($('#login-template').html());
// ...
render: function() {
this.$el.html(this.template());
}
Run Code Online (Sandbox Code Playgroud)
但是,当我更改我的脚本并将其直接添加到html文档中时,它运行正常.
<script type="text/template" id="login-template">
<header id="header"></header>
<div class="login">
<form class="login-form">
<h2>Log In</h2>
<div class="error" style="display:none"></div>
<input type="text" id="login-username" placeholder="Username" />
<input type="password" id="login-password" placeholder="Password" />
<button>Log In</button>
</form>
</script>
Run Code Online (Sandbox Code Playgroud)
为什么是这样?有没有办法在<script>
标签中包含外部源的模板?
(我不能$.get
用于这种情况,因为它不应该立即使用Web服务器并且不断正常地执行XHR错误.)
我有一个看起来有点像这样的柜台:
Counter: {('A': 10), ('C':5), ('H':4)}
Run Code Online (Sandbox Code Playgroud)
我想按字母顺序对键进行排序,而不是按字母顺序排序 counter.most_common()
有没有办法实现这个目标?
我试图从vim会话中复制150行以粘贴到另一个.我的第一个想法是去
150Y
Run Code Online (Sandbox Code Playgroud)
:q
然后vim (otherProgram).py
,我做了,并按'p'.只复制了50行.所以我回到我的原始文档并shift-v
选择了我想要的行,然后y
转到另一个文档,然后做了p
.它似乎也没有优雅地复制,仍然只有50行.
我开始认为vim的复制缓冲区有一些默认大小.我正在使用Mac OS X.有没有办法找出是否有某种默认缓冲区大小?有没有办法改变它?
所以,假设我有一个带有几个链接的模板,链接将是这样的:
<a class='btn btn-primary' href='/?chart=new_chart&chart=other_chart'>View Summary</a>
Run Code Online (Sandbox Code Playgroud)
但是,在我完成链接或包含资源的大多数时候,我使用了以下语法:
<script src="{{ url_for('static', filename='some_silly_js') }}"></script>
Run Code Online (Sandbox Code Playgroud)
是否可以使用查询参数执行url_for?就像是:
<a href="{{ url_for('stats', query_params={chart: [new_chart, other_chart]}) }}>View More</a>
Run Code Online (Sandbox Code Playgroud) 我有一个组件,目前将呈现出如下所示的内容:
Corvid/游戏/魔兽世界/资产/角色模型/联盟/暗夜精灵/玛法里奥
我总是希望前两个项目和最后两个项目可见,但是,...
如果可能的话,我希望中间的所有内容都截断.也就是说,如果上面的字符串要溢出包含div,它应该具有以下结果
Corvid/Games/.../暗夜精灵/玛法里奥
我尝试过如下结构:
<div className={styles.container}>
<div className={styles.first}>
{/** Contains first two items */}
</div>
<div className={styles.truncate}>
{/** N arbitrary path items */}
</div>
<div className={styles.last}>
{/** Last two items */}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这可以用CSS实现吗?
也许这是一个相当大且含糊不清的问题:
在Stack Overflow聊天室中,有一个"启用桌面通知"按钮,当有人回复您时,它会在系统托盘中显示某些内容.
通过什么机制这是有效的?这总是让我很好奇.
网站如何访问系统托盘?
我有一个"更高阶的组件",它以下面的方式实现(没有类型).
const Themeable = (mapThemeToProps) => {
return (WrappedComponent) => {
const themedComponent = (props, { theme: appTheme }) => {
return <WrappedComponent
{...props}
theme={merge(
{},
defaultTheme,
appTheme,
mapThemeToProps(merge(defaultTheme, appTheme))
)}
>
}
themedComponent.contextTypes = { theme: PropTypes.object };
return themedComponent;
}
}
Run Code Online (Sandbox Code Playgroud)
总结它的作用,它需要一个mapThemeToProps
功能.这将接收通过合并defaultTheme
(由我的库appTheme
提供)和(由ThemeProvider
组件通过上下文提供)创建的主题参数.然后它将创建一个扩展Theme
并将其作为被调用的prop传递给组件theme
.在实践中,它将按如下方式使用(Themeable
在此范围内调用):
const mapThemeToProps = (theme) => ({
background: theme.palette.dark,
color: theme.text.light,
});
function Greeting({ theme: { background, color } }) {
return ( …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个组件,该组件在某个属性为true时不应这样做,而应执行浅表比较(的默认设置PureComponent
)。
我尝试了以下行为:
export default class ContentsListView extends PureComponent<Props> {
shouldComponentUpdate(props: Props) {
if (props.selecting) {
return false;
}
return super.shouldComponentUpdate(props);
}
render() {
}
}
Run Code Online (Sandbox Code Playgroud)
但是,super.shouldComponentUpdate
未定义。有没有办法在PureComponent
不编写我自己的内容的情况下“进入”浅表比较?
我使用Flask-Login,它current_user
在模板中提供对象.我想写一个宏来显示评论表单或登录链接,具体取决于用户是否登录.如果我直接在模板中使用此代码,它可以工作:
{% if current_user.is_authenticated %}
{{ quick_form(form) }}
{% else %}
<a href="{{ url_for('auth.login') }}">Log In with Github</a>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我在宏中放置了相同的代码,并在我的模板中导入宏.
{% macro comment_form(form) %}
{% if current_user.is_authenticated %}
...
{% endif %}
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)
{% from "macros/comments.html" import comment_form %}
{% extends "base.html" %}
{% block content %}
{# ... content goes here ... #}
{{ comment_form(form) }}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
当我尝试加载此页面时,我得到的错误是:
jinja2.exceptions.UndefinedError: 'current_user' is undefined
Run Code Online (Sandbox Code Playgroud)
当然,简单的解决方法是current_user
作为参数传入并使用它(制作签名comment_form(user, form)
),尽管这是一个相当丑陋的解决方案(imo).
为什么宏不使用上下文处理器?它不具备背景吗?
我一直在偷看这个.我lodash
和velocity-react
安装.velocity-react
取决于lodash@3.10.0
.
当我使用webpack 2构建我的应用程序时,我收到了许多错误,如下所示:
Module not found: Error: Can't resolve 'lodash/object/extend'
Run Code Online (Sandbox Code Playgroud)
但是,如果我将版本更改为3.10.0
,它会为不同的包产生许多不同的错误,例如:
Module not found: Error: Can't resolve 'lodash/isObject'
Run Code Online (Sandbox Code Playgroud)
似乎问题是这些库依赖于lodash的不同主要版本.解决这个问题的方法是什么?
编辑:我找到了一个解决方法,但它肯定有点偏.我可以添加以下内容给我resolve.alias
以便修补它:
'lodash/object/omit': 'lodash/omit',
'lodash/object/extend': 'lodash/extend',
'lodash/lang/isObject': 'lodash/isObject',
'lodash/lang/isEqual': 'lodash/isEqual',
'lodash/collection/forEach': 'lodash/forEach',
'lodash/collection/each': 'lodash/each',
'lodash/collection/pluck': 'lodash/map',
'lodash/object/keys': 'lodash/keys',
Run Code Online (Sandbox Code Playgroud)
但为什么我需要这样做呢?当然必须有一个更好的解决方案.
javascript ×5
flask ×2
python ×2
python-2.7 ×2
reactjs ×2
web ×2
backbone.js ×1
css ×1
dictionary ×1
html ×1
html5 ×1
jinja2 ×1
jquery ×1
linux ×1
macos ×1
typescript ×1
vim ×1
webpack ×1