我有一个范围变量(顺便说一句,controllerAs = vm),并希望根据范围变量的值进行过滤。 e.g。
其中vm.myfilter在我的控制器中设置为“filtera”或“filterb”。我已经实现了两个自定义过滤器。
<span data-ng-bind-html="vm.myvalue | vm.myfilter"></span>
我试过了 和各种选项,但过滤器似乎不处理表达式。
答案 0 :(得分:0)
您可以尝试删除过滤器的vm并尝试吗?
<span data-ng-bind-html="vm.myvalue | myfilter"></span>
请分享过滤器代码,如果它无法正常工作
答案 1 :(得分:0)
因此解决方案很容易-当我对角度的了解不多时,我问了这个问题。我想根据情况使用其他过滤器。
答案是..
chooseFilter() {
if (myCondition) {
return 'dateToNow';
} else {
if (myCondition2) {
return 'dateTime';
} else {
return 'dateToNow;;
}
}
}
但是,如果您想更加冒险,可以这样做。
在模板中。
import moment from "moment";
angular.module('myModule', [])
.filter('dateToNow', () => date => moment(date).fromNow())
.filter('dateTime', () => date => moment(date).format('LLL'));
在控制器中。
_ssl = SSL.CertificateOptions()
runner = ApplicationRunner(u"wss://{server address}", realm=u"restricted_realm", ssl=_ssl)
runner.run(session, auto_reconnect=True)
@inlineCallbacks
def onJoin(self, data):
print(data)
定义模块时...
template.yml
其中filtera是dateToNow,filterb是dateTime
我很欣赏还有其他技术,例如让过滤器自己决定甚至链接过滤器并允许每个人决定。