带空格的AngularJS自定义指令参数
AngularJS Custom Directive Argument with Spaces
我有一个自定义指令,用于标准化日期输入并格式化它们以匹配我的(有点奇怪的)API需求。用于调用它的标记如下:
<date-input date-id="birthDate" date-label="Date Of Birth" ng-model="client.dateOfBirth"></date-input>
我得到以下错误:
Syntax Error: Token 'Of' is an unexpected token at column 6 of the expression [Date Of Birth] starting at [Of Birth].
当我删除空格(即date-label="DateOfBirth"
,它工作得很好)
如何在指令属性中允许空格?
指令:
directives.directive('dateInput', [function() {
var link = function(scope, element, attrs, model) {
scope.dateLabel = attrs.dateLabel;
scope.dateId = attrs.dateId;
var dateObjectPre = moment(scope.dateObject);
scope.dateObjectPre = dateObjectPre.format('MMDDYYYY');
scope.update = function() {
var dateObject;
if(angular.isDefined(scope.dateObjectPre)) {
dateObject = moment(scope.dateObjectPre, 'MMDDYYYY');
}
if (dateObject && dateObject.isValid()) {
scope.dateObject = dateObject.format('YYYY-MM-DD');
}
else {
scope.dateObject = '';
}
};
};
return {
restrict: 'E',
link: link,
templateUrl: '/views/directives/dateInput.html',
replace: true,
scope: {
'dateLabel': '=dateLabel',
'dateObject': '=ngModel',
'dateShow': '=dateShow',
'dateRequired': '=dateRequired',
'dateId': '=dateId'
}
}
}]);
在将属性值传递给指令时不应该使用@吗?
scope: {
'dateLabel': '@dateLabel'
}
相关文章:
- 参数变量出现ngTable指令问题
- 如何在angularjs中传递对象字段作为指令参数
- 角度指令控制器:参数不是函数,未定义
- 在嵌套递归指令中将参数传递给父控制器方法
- Angularjs将函数从控制器传递到指令(或从指令调用控制器函数)-带参数
- 在更改时选择,插入类似函数的参数或指令之间的差异
- 角度指令的参数相同
- 角度调用父函数,其参数来自两个级别深的指令
- 将对象作为参数传递给指令
- angularjs指令绑定带参数的函数
- 从指令调用控制器函数(使用从指令传递的参数)
- AngularJS 指令参数 “ctrls”
- AngularJS指令接受参数
- 在Angular链接函数和访问指令参数中使用$compile
- 在Angular指令参数中使用HTML
- 带空格的AngularJS自定义指令参数
- Angular指令参数问题
- 指令参数嵌套控制器简单示例
- 不能在vue js中访问指令参数
- 是否可以传递一个带有vars的json对象作为angularjs指令参数