我通过date
这种方式将值传递给自定义过滤器:
angular.module('myapp').
filter('filterReceiptsForDate', function () {
return function (input, date) {
var out = _.filter(input, function (item) {
return moment(item.value.created).format('YYYY-MM-DD') == date;
});
return out;
}
});
我也想在其中注入几个范围变量,就像我在指令中可以做的那样。不必将这些var作为函数参数显式传递就可以做到这一点吗?
显然可以。
通常,您会将范围变量作为函数参数传递给过滤器:
function MyCtrl($scope){
$scope.currentDate = new Date();
$scope.dateFormat = 'short';
}
<span ng-controller="MyCtrl">{{currentDate | date:dateFormat}}</span> // --> 7/11/13 4:57 PM
但是,要传递当前范围,您必须传递this
:
<span ng-controller="MyCtrl">{{currentDate | date:this}}</span>
并将this
引用当前范围:
简化:
app.controller('AppController',
function($scope) {
$scope.var1 = 'This is some text.';
$scope.var2 = 'And this is appended with custom filter.';
}
);
app.filter('filterReceiptsForDate', function () {
return function (input, scope) {
return input + ' <strong>' + scope.var2 + '</strong>';
};
});
<div ng-bind-html-unsafe="var1 | filterReceiptsForDate:this"></div>
<!-- Results in: "This is some text. <strong>And this is appended with custom filter.</strong>" -->
[PLUNKER](http://plnkr.co/edit/8bHvoKVpACjFkgkP5iCn?p=preview)
我尝试注入$scope,然后使用,但这不起作用? 有人能提供建议吗?
问题内容: 我设置了一个范围滑块,范围为0-2hr,时间以分钟为单位计算,然后像这样转换为hh:mm:10min,20min,1hr 20min,2hr。 但是现在我正在尝试使用范围滑块指定的范围来过滤一堆项目,而我很难做到这一点。 这是我所做的http://cdpn.io/LDusa 我正在使用http://danielcrisp.github.io/angular- rangeslider/d
问题内容: 如果我有以下控制器: 读出的正确方法是什么?如果有必要定义中,也不会使它语义上不正确假设是描述相关的东西的属性,而不是? 更新: 对此进行进一步的思考,如果一个孩子有多个孩子,将会在检索上产生冲突。我的问题是,什么是访问的正确方法是从? 问题答案: AngularJS中的作用域使用原型继承,当在子作用域中查找属性时,解释器将从子对象开始查找原型链,并继续寻找父对象,直到找到该属性为止,
问题内容: 我有一个从或指令属性或任何其他属性中获得的字符串,我想基于此在作用域上创建一个变量。所以: 但是,如果字符串包含一个或多个点,我想将其拆分并实际上“向下钻取”到作用域中。所以应该成为。这意味着简单版本不起作用! 在读取基于字符串的变量时,您可以通过做来获得这种行为,但是在分配值时如何实现呢? 问题答案: 我发现的解决方案是使用$ parse。 “将Angular表达式转换为函数。” 如
问题内容: 我正在尝试查看是否存在通过外部javascript函数访问控制器内部范围的简单方法(与目标控制器完全无关) 我在其他几个问题上看到 会从DOM元素中检索范围,但是我的尝试目前未产生正确的结果。 这是jsfiddle:http : //jsfiddle.net/sXkjc/5/ 我目前正在经历从纯JS到Angular的过渡。我试图实现这一目标的主要原因是要保持原始库代码尽可能完整。无需我
问题内容: 我的页面有多种形式,一次只想显示一个即可。为此,我将每种形式分成一个部分,并使用Bootstrap的手风琴插件一次只允许一个打开的部分。 我的标记看起来像这样: 一切正常,我可以在表单之间导航。 因为我不希望用户打开当前正在编辑的部分包含验证错误的部分,所以我尝试检查函数是否与其关联的表单有效。 我尝试过,但是我做不到。我无法访问负责页面的控制器中与表单关联的FormControlle