我希望我没有错过任何明显的doco,如果我有,我相信有人会帮助.
我正在使用asp.net webapi返回带有日期字段的DTO.这些是使用JSON.Net序列化的(格式为'2013-03-11T12:37:38.693').
我想使用过滤器,但在INPUT元素中,这是可能的,还是应该创建一个新的过滤器或指令来完成这个?
// this just displays the text value
<input ui-datetime type="text" data-ng-model="entity.date" /> 
// this doesn't work at all
<input ui-datetime type="text" data-ng-model="{{entity.date|date:'dd/MM/yyyy HH:mm:ss a'}}" /> 
// this works fine
{{entity.date|date:'dd/MM/yyyy HH:mm:ss a'}}
我有什么捷径可走吗?
我试过使用大写过滤器,但它不起作用.我尝试过两种方式:
<input type="text" ng-model="test" uppercase/>
和
<input type="text" ng-model="{{test | uppercase}}"/>
第二个触发javascript错误:
语法错误:令牌'test'是意外的,期待[:]
我希望文本在用户在文本框中键入时强制为大写.
我怎样才能做到这一点?
我有一个<select>元素,我想在其中大写每个<option>标签中显示的文本.
例如,我想这里的2个值是Bar和Baz(不是bar和baz)
<style>
    option { text-transform: Capitalize; }
</style>
<select name="foo">
    <option value="bar">bar</option>
    <option value="baz">baz</option>
</select>
这似乎不适用于我的Chrome(14.0.835.202),但可以在我的Firefox(8.0)和IE 8中使用.
编辑:<style>为清晰起见添加了标记
我正在与AngularJS合作开展更大的项目.因此,我希望尽可能简化单个表单的工作.由于我们也使用bootstrap,表单中单个输入字段的代码非常冗长,也许就像
<div class="control-group">
  <label class="control-label" for="inputEmail">Email</label>
  <div class="controls">
    <input type="text" id="inputEmail" placeholder="Email">
  </div>
</div>
如果我可以写一个标签,如
<custom-input 
  label="Email" 
  name="inputEmail" 
  placeholder="Email" 
  type="text" 
  ... >
</custom-input>
相反,这将有助于保持代码清洁和工作简单.
为了实现这个目标,我正在开发一个自定义的AngularJS指令.我的指令当前使用类似于上面的bootstrap示例的模板,自动将标签分配给input-tag.此外,该指令的编译器函数将所有属性从自定义输入标记移动到实际输入标记,以便于自定义自定义输入标记.
app.directive('customInput', function() {
    return {
      require: 'ngModel',
      restrict: 'E',
      template: '<div>' + 
                    '<label for="{{ name }}">the label</label>' +
                    '<input id="{{ name }}" ng-model="ngModel" />' +
                '</div>',
      scope: {
              ngModel: '=',
              name: '@name',
          },
      replace: true,
      compile: function (tElement, tAttrs, transclude) {
            var tInput = tElement.find('input');
            // Move the attributed given to 'custom-input'
            // to the …