我一直在浏览vue.js
和angular.js
代码,但无法弄清楚他们如何处理html中的自定义指令?
例如,让我说我有以下div:
<div my-repeat="item in items"></div>
为了实现与vue.js
类似的操作,我是否必须扫描整个文档的DOM元素以查找my-
属性前缀的所有出现,然后以某种方式试图弄清楚其余的功能是做什么的?
我花了几个小时试图解决这个问题,但没有运气。任何想法/方向都将非常感谢。
答案 0 :(得分:0)
我不确定Vue和Angular是如何做到的,但这里有一个如何实现自定义属性中指定的功能的示例:
var element = document.querySelector('[function-attribute]');
var fn = new Function(element.attributes['function-attribute'].value).bind(element);
fn();
&#13;
<div value-attribute='something' function-attribute="alert(this.attributes['value-attribute'].value);"></div>
&#13;