我注意到在我的应用程序中,当我使用下面的代码时,我在日期选择器小部件中给出了格式化日期,但是当我单击搜索时,控制台显示空字符串.但是,如果我删除该didInsertElement方法,我将丢失datepicker弹出窗口,但数据绑定仍然存在,控制台显示我输入的日期.
在我的车把模板中
{{view App.DateField valueBinding="controller.startDate" classNames="startDate"}}
{{view App.DateField valueBinding="controller.endDate" classNames="endDate"}}
<button {{action "search" target='controller'}}>Search</button>
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中
App.ApplicationController = Ember.ArrayController.extend({
search: function() {
console.log(this.get('startDate'));
return console.log(this.get('endDate'));
}
});
App.DateField = Ember.TextField.extend({
didInsertElement: function() {
return this.$().datepicker();
}
});
Run Code Online (Sandbox Code Playgroud)
任何想法,为什么我设置时丢失了数据绑定didInsertElement?
版本: bootstrap-datepicker,
handlebars-1.0.0-rc.3
ember-1.0.0-rc.3
jQuery 1.9.1
Run Code Online (Sandbox Code Playgroud) 我想从一个路径上的beforeSend钩子中访问我的路由控制器,以利用promise上的暂停逻辑.
这是我目前的解决方法,能够在我的控制器上设置"category_config",这是从beforeModel中的promise获得的.
Imaging.ReferenceRoute = Ember.Route.extend(Imaging.Ajax, {
setupController: function(controller, model) {
controller.set('error_messages', []);
controller.set('category_config', this.get('category_config'));
return this._super(controller, model);
},
beforeModel: function(transition) {
var categories;
categories = this._promise("/url/foo/", "GET");
return Ember.RSVP.all([categories]).then(((function(_this) {
return function(response) {
return _this.set('category_config', response[0]);
};
})(this)));
},
model: function() {
return Imaging.Document.find();
}
});
Run Code Online (Sandbox Code Playgroud)
万一你好奇我的_promise助手如下:
_promise: function(url, type, hash) {
return new Ember.RSVP.Promise(function(resolve, reject) {
hash = hash || {};
hash.url = url;
hash.type = type;
hash.dataType = "json";
hash.success = function(json) {
return Ember.run(null, resolve, json);
}; …Run Code Online (Sandbox Code Playgroud) 我试图根据控制器上的切换属性管理对象数组的排序显示.正因为如此我不能使用默认sortProperties可用的ArrayController.
预期的结果是,当我第一次点击"编辑"按钮时,我能够对项目进行更改,当我点击保存时,它应该重新渲染{{#each}}块以显示新的名称顺序.
这是车把上的一个小虫还是我做错了什么?
JSBin:当属性切换时,把手不会重新渲染
HTML:
<script type="text/x-handlebars">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
<h4>Raw \{{sorted_list}} property</h4>
{{sorted_list}}<br/>
<h4>Iterated `\{{#each item in sorted_list}}` property</h4>
<ul>
{{#each item in sorted_list}}
{{#if editing}}
<li>{{input type="text" value=item.name}}</li>
{{else}}
{{item.name}}<br/>
{{/if}}
{{/each}}
</ul>
{{#if editing}}
<button {{action "edit_stuff"}}>Save</button>
{{else}}
<button {{action "edit_stuff"}}>Edit</button>
{{/if}}
</script>
Run Code Online (Sandbox Code Playgroud)
JS:
var App = Ember.Application.create();
App.Router.map(function() {});
App.Person = Ember.Object.extend({
toString: function() {
return this.name;
}
});
App.IndexRoute = Ember.Route.extend({
model: function() {
return [ …Run Code Online (Sandbox Code Playgroud) 当我将项目的django版本更新为1.5.x时,就会出现此问题.
我的问题是,当使用mysql作为后端并且我上传文件并尝试将该文件的块保存到另一个模型时,我得到一个UnicodeDecodeError.
在django 1.4.x中,没有抛出错误,相关模型被持久化.
要重新创建的示例项目:https: //github.com/imtapps/fileuploaderror
models.py
from django.db import models
class LongBlob(models.Field):
def db_type(self, connection):
return "longblob"
class Document(models.Model):
document = LongBlob()
class Book(models.Model):
description = models.CharField(max_length=30)
document = models.ForeignKey(Document, null=True)
Run Code Online (Sandbox Code Playgroud)
forms.py
from django import forms
from spikeapp.models import Document, Book
class BookForm(forms.ModelForm):
upload_file = forms.FileField()
def save(self, *args, **kwargs):
self.cleaned_data['upload_file'].open()
data = ''.join([chunk for chunk in self.cleaned_data['upload_file'].chunks()])
self.cleaned_data['upload_file'].close()
Document.objects.create(document=data)
class Meta:
model = Book
fields = ('description',)
Run Code Online (Sandbox Code Playgroud)
views.py
from django.views.generic.edit import FormView
from spikeapp.forms import BookForm …Run Code Online (Sandbox Code Playgroud) ember.js ×3
javascript ×2
django ×1
django-forms ×1
mysql ×1
python ×1
python-2.7 ×1
rsvp.js ×1