使用$.each
方法創建了一個使用JSON源創建的數組。這是控制檯說什麼:如何使用指定的鍵獲取值?
$vm0.sailNames;
[Array(24), __ob__: Observer]
(出於某種原因,jQuery的創建了一個觀察員)
我怎樣才能得到displayName
作爲參數傳遞name
的值?有沒有Vue.js數組的方式來做到這一點?
- 編輯:添加一些標記:
data() {
return {
(...)
sailNames: [],
(...)
}
},
methods: {
someMethod(name) {
console.log("sailNames: ", this.sailNames);
let item = this.sailNames.find(s => s.name == name);
console.log("name (someMethod's arg.): ", name);
console.log("item: ", item);
},
showName: function(e) { // this is the function triggered @click
(...)
const sourceElement = e.target.id;
this.someMethod(sourceElement);
(...)
},
(...)
對DOM元素點擊
控制檯輸出:在模板
sailNames: [Array(24), __ob__: Observer]
name (someMethod's arg.): grot
item: undefined`
DOM元素:
<svg>
(...)
<g id="sailShapes">
<path class="rope" d="M 15,589 395,94" />
<path id="latacz" d="M 160,404 255,391 390,104 z" class="sail" @click="showName" />
<path class="rope" d="M 30,592 395,179" />
<path id="grot" d="M 100,519 285,490 330,254 z" class="sail" @click="showName" />
(...)
</g>
(...)
</svg>
jQuery沒有創建觀察者,Vue將數據轉換爲觀察值。只需使用香草JavaScript。你想在哪裏使用它?在一個方法?模板? – Bert
「sailNames」在數據中定義,然後由jQuery的$ .each方法更新。在數組填充後,我試圖在通過單擊DOM元素觸發的方法中使用它的值。 – AbreQueVoy