我有以下指令,我把它放在使用angular-ui-bootstrap datepicker的输入字段上:
angular.module('directives.validators.date', [])
.directive('validDate',[ '$filter', function ($filter) {
return {
restrict:'A',
require:'ngModel',
link: function (scope, el, attrs, ngModel) {
var pattern = /^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[012])\.(19|20)\d\d$/;
ngModel.scope = scope;
ngModel.attrs = attrs;
el.on('blur',function() {
if(typeof ngModel.$viewValue === "object"){
var str = $filter('date')(ngModel.$viewValue, "dd.MM.yyyy");
ngModel.$setViewValue(str);
}
if(ngModel.$viewValue){
if(ngModel.$viewValue!=="" && !pattern.test(ngModel.$viewValue)){
ngModel.$setValidity("date",false);
}
}
});
scope.$watch(function () {
return ngModel.$modelValue;
},
function() {
if(ngModel.$pristine){ //if the data has just been fetched, convert it to date format.
if (typeof ngModel.$viewValue === "number"){
var date = …Run Code Online (Sandbox Code Playgroud) 我有一个基于具有多个字段的模型的表.我还有两个TemplateColumns,一个用于编辑特定实体,另一个用于删除它.这是我的代码:
class EntitetTable(tables.Table):
edit = tables.TemplateColumn(template_name='azuriranje/izmena.html',
orderable=False, visible=False)
delete = tables.TemplateColumn(template_name='azuriranje/brisanje.html',
orderable=False, visible=False)
class Meta:
abstract = True
attrs = {'class': 'paleblue', }
class TipPredmetaTable(EntitetTable):
class Meta(EntitetTable.Meta):
model = models.TipPredmeta
Run Code Online (Sandbox Code Playgroud)
现在,我的系统中有一个用户层次结构,只有作为簿记员的用户才能编辑和删除数据.话虽这么说,我试图在我的视图中执行检查以隐藏两个TemplateColumns:
@login_required
def tippredmeta(request):
try:
korisnik = request.user.radnik
except ObjectDoesNotExist:
return HttpResponseRedirect("/main/")
queryset = TipPredmeta.objects.all()
table = TipPredmetaTable(queryset)
if korisnik.is_kustos:
table.edit.visible = True
table.delete.visible = True
RequestConfig(request).configure(table)
return render_to_response('azuriranje/tabelaPrikaz.html', {'table': table, },
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
但是,我table.edit.visible = True在行上得到以下异常:
Exception Type: AttributeError
Exception Value: 'TipPredmetaTable' object has …Run Code Online (Sandbox Code Playgroud) 我有一个ObservableCollection<Sportisti>从0元素开始(但在创建窗口时初始化为一个新对象).我想将Count属性绑定到a TextBox.不幸的是,每当我尝试打开相关窗口时,这会导致我的应用程序崩溃.
现在,因为我有一个ListView在同一页面,成功显示有问题的集合的元素,我想我可以简单地从那里提取行数,但这也导致崩溃.
<TextBox Text="{Binding ElementName=lvTabela, Path=Items.Count}"
Grid.Row="4" Grid.Column="1" Margin="0,3,60,3"
DockPanel.Dock="Top" IsReadOnly="True" />
Run Code Online (Sandbox Code Playgroud)
请注意,在.xaml文件中,我可以看到TextBox的内容为0.
知道为什么会这样吗?
我有以下html代表一个搜索字段:
<input ng-model-options="{ debounce: 500 }" type="text" ng-model="name">
Run Code Online (Sandbox Code Playgroud)
以下是js:
$scope.$watch('name', function(newVal, oldVal) {
if(newVal != oldVal) {
$scope.pageChanged($scope.sort, $scope.name, $scope.sortDirection);
}
});
Run Code Online (Sandbox Code Playgroud)
现在,我的pageChanged函数对我的服务器进行REST调用,并根据排序和搜索信息("名称")返回一个entites列表.假设我的用户想要搜索"Tom".我想避免我的应用程序进行三次休息调用(name ="T",name ="To",name ="Tom").
我尝试用debounce做这个,但似乎手表不能用去抖动,所以我想知道用最少的代码实现这个的最佳方法是什么?
我一直在做一个我继承的角项目,我无法联系原作者.有这个表达我不确定,我想知道是否有人可以帮我理解代码:
$scope.$watch(calculator.value, function(newVal, oldVal) {
if(newVal !== oldVal) {
i = newVal;
updateCalculation();
}
});
Run Code Online (Sandbox Code Playgroud)
令我困惑的是这行代码:newVal !== oldVal.知道为什么需要这样的检查吗?
我很难解决我的问题,我真的很生气.
这里的想法是:我有两个ListView元素,当元素从第一个列表下降到第二个列表时,我需要打开一个对话框,但我需要删除元素中的信息和添加的元素以填充对话框.
问题是,我甚至无法获得正确的基本功能 - 这就是打开对话框.
我将从头到尾学习D&D技术,但我很快就需要一种方法来至少调用对话.
在编写和删除一些代码之后,我唯一剩下的就是以下内容:
private void lvListaRadnika_MouseDown(object sender, MouseButtonEventArgs e)
{
DragDrop.DoDragDrop(lvListaRadnika, presenter.Selected, DragDropEffects.None);
}
private void ListView_Drop(object sender, DragEventArgs e)
{
DodavanjeRezervacije dr = new DodavanjeRezervacije(new DodavanjeRezervacijePresenter(null,true));
dr.Show();
}
Run Code Online (Sandbox Code Playgroud)
在这一点上,我需要发生一些事情,之后我会看到添加所有必要的检查,向对话提供数据以及添加一个装饰.
如果有人能够尽可能多地解释拖拽的方式我会非常感激,但在这一点上我真的需要这个来点火.
angularjs ×3
javascript ×3
wpf ×2
binding ×1
datepicker ×1
django ×1
listview ×1
python ×1
textbox ×1
watch ×1