0
我正在嘗試使用x-tag訪問器,但是我沒有找到關於它們的好文檔。我想通過訪問器傳遞一個函數並編寫如下代碼:通過x-tag訪問器傳遞函數
<my-element logic="myFunction()"></my-element>
我想保存該功能並稍後使用它。有沒有辦法做到這一點?
我正在嘗試使用x-tag訪問器,但是我沒有找到關於它們的好文檔。我想通過訪問器傳遞一個函數並編寫如下代碼:通過x-tag訪問器傳遞函數
<my-element logic="myFunction()"></my-element>
我想保存該功能並稍後使用它。有沒有辦法做到這一點?
我真的不確定你想要完成什麼,但我會給它一個鏡頭。如果你試圖讓所有<my-element>
標籤提供了一些邏輯,使用methods
對象,像這樣:
xtag.register('my-element', {
methods: {
logic: function (a) {
return a * 2;
}
}
});
如果您希望能夠分配logic
到<my-element>
每個實例獨立,那麼你可以使用一個標準(非屬性)訪問器,並且這樣做是隱式的。
xtag.register('my-element', {
accessors: {
logic: {}
}
});
HTML
<my-element id="test"></my-element>
集邏輯的<my-element>
var el = document.querySelector('my-element#test');
el.logic = function (a) {
return a * 2;
};
如果你想使用屬性的logic
值設置爲一個全球性的功能,你可以做一個實例此:
全局函數示例
function myFunction(a) {
return a * 2;
}
組件
xtag.register('my-element', {
accessors: {
logic: {
attribute: {},
get: function() {
return this._logic;
},
set: function (v) {
this._logic = window[v] || null;
}
}
}
});
使用(HTML)
<my-element logic="myFunction"></my-element>
使用(JS)
var el = document.querySelector('my-element');
el.logic(2); // 4
謝謝。最後一個正是我所期待的。 – Marchinka