[AngularJS] Using $parse Service
Service Using angularjs parse
2023-09-14 09:00:54 时间
$parse is useful when you want to parse an expression and the context is not defined yet.
For example, I have a table component which allows user to pass in all the row items and define action for each row.
<ttmd-table items="vm.invoices" headers="vm.headers" > <ttmd-actions> <ttmd-action if="shouldPay" text="pay" on-click="vm.pay(payload)" ></ttmd-action> </ttmd-actions> </ttmd-table>
What I want is only if 'shouldPay' is true when display the `ttmd-action`, if not just hide it, so there is "if" attr in the tag.
But there is one problem to make it works: Because `shouldPay` prop locates on each item, if we use ng-repeat, we would do somthing like this:
<div ng-repeat="item in items track by $index"> <ttmd-action if="item.shouldPay" ></ttmd-action> </div
But I don't want to make component hard for user to use, so the problem we need to solve here is
- parse the expression we passed in with the right context
So here is $parse come into play:
shouldDisplay(){ let getter = this.$parse(this.if); // get the expression and conver it to a function let context = this.ItemCtrl.getSelectedItem(); // Find the right context console.log(context); console.log(getter(context)); return getter(context); // parse the expression with the right context }
相关文章
- Angular 面试题汇总2-Component/Service (Angular v8+)
- ElasticSearch Service实现MySql实时监控
- ORA-44301: NULL service name is not permitted ORACLE 报错 故障修复 远程处理
- ORA-44306: service name exceeds maximum length of string ORACLE 报错 故障修复 远程处理
- MySQL Error number: 3540; Symbol: ER_COMPONENTS_UNLOAD_CANT_UNREGISTER_SERVICE; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011703; Symbol: ER_GRP_RPL_SQL_SERVICE_SERVER_SESSION_KILLED; SQLSTATE: HY000 报错 故障修复 远程处理
- ORA-12519: TNS:no appropriate service handler found ORACLE 报错 故障修复 远程处理
- MySQL Error number: MY-013712; Symbol: ER_WARN_NO_KEYRING_COMPONENT_SERVICE_FOUND; SQLSTATE: HY000 报错 故障修复 远程处理
- JBPM4中的ProcessEngine与Service API详解编程语言
- Oracle 视图 V$SERVICE_EVENT 官方解释,作用,如何使用详细说明
- 如何让CI框架支持service层