Angularjs 为什么格式化程序不能与独立作用域一起工作?
为什么格式化程序不能与独立作用域一起工作?是这只角虫还是我做错了什么 这包含隔离范围,但不起作用: 这不包含单独的范围,工作正常:Angularjs 为什么格式化程序不能与独立作用域一起工作?,angularjs,angularjs-scope,Angularjs,Angularjs Scope,为什么格式化程序不能与独立作用域一起工作?是这只角虫还是我做错了什么 这包含隔离范围,但不起作用: 这不包含单独的范围,工作正常: 这与格式化程序无关,而是因为ngModel不再有权访问您试图传递的值。当您创建一个隔离作用域时,myDate不再适用于ngModel指令(因为您创建了一个新作用域——一个隔离作用域——上面没有myDate)。作为证明,这里有一个集合,它基于传递到ngModel属性的内容在作用域上设置了myDate: “一个指令的隔离范围将同一元素上的其他指令隔离开来”,谈到了这个问
这与格式化程序无关,而是因为
ngModel
不再有权访问您试图传递的值。当您创建一个隔离作用域时,myDate
不再适用于ngModel
指令(因为您创建了一个新作用域——一个隔离作用域——上面没有myDate
)。作为证明,这里有一个集合,它基于传递到ngModel
属性的内容在作用域上设置了myDate
:
“一个指令的隔离范围将同一元素上的其他指令隔离开来”,谈到了这个问题:
例如,请注意我的自定义指令是如何阻止ng模型工作的
你也可能对这一点感兴趣
restrict: 'A',
scope:{},
link: function(scope, elm, attrs, ctrl) {
ctrl.$formatters.unshift(function(modelValue) {
console.log("In formatters" + modelValue);
return $filter('date')(modelValue);
});
restrict: 'A',
link: function(scope, elm, attrs, ctrl) {
ctrl.$formatters.unshift(function(modelValue) {
console.log("In formatters" + modelValue);
return $filter('date')(modelValue);
});