1
假設我有一個指令myDirective
。該指令想要有一組標記名稱tags
,例如['new', 'owner']
。這個數組是像飛行一樣快速生成的;將函數的返回值傳遞給指令 - AngularJS
<my-directive ng-repeat="that in a" tags="getTags(that.id)"></my-directive>
angular.module('x').directive(...
scope: {
tags: '@'
}
};
其中getTags
是一個返回標籤數組的函數。
像這樣,tags
只會成爲字符串"getTags(that.id)"
。如果我把它放在一個表達式中;
<my-directive ng-repeat="that in a" tags="{{getTags(that.id)}}"></my-directive>
tags
仍然是一個字符串。但它看起來像"['new', 'owner']"
- 但仍然是一個字符串。我如何傳遞數組?
我似乎不能做這樣的覆蓋'scope.tags'變量? – Unidan
然後嘗試使用其他變量。 – Wawy
你好,我有同樣的問題,並使用$ eval解決了它,你能解釋我爲什麼我應該使用$ eval,如果有更好的方法來實現同樣的事情,而不使用$ eval? –