2016-01-11 27 views
16

Tôi có một yếu tố mà tôi muốn xem cho một sự thay đổi như thế này:Sự kiện Vuejs về thay đổi giá trị phần tử?

<span id="slider-value-upper" class="lower">50</span> 

Có thể thực hiện điều này sạch với vuejs? Tôi đã thử tìm kiếm trong các tài liệu nhưng tôi không thể tìm thấy bất cứ điều gì như thế này.

Tôi muốn khởi chạy sự kiện tùy chỉnh bất cứ khi nào '50' thay đổi thành thứ gì đó khác bằng VueJs.

+0

Những tài sản nào bạn muốn thay đổi? –

+0

Tôi chỉ muốn lấy giá trị của phần tử span sau khi nó đã thay đổi. Giá trị này được nối với một thanh trượt và tôi muốn chuyển giá trị của phần tử sang vuej khi nó được thay đổi bởi một thanh trượt. –

Trả lời

27

Bạn đã thử với watch? Trong trường hợp của bạn, nó sẽ là một cái gì đó như thế này.

mẫu

<div id="app"> 
    {{ message }} 
    <span id="slider-value-upper" class="lower">{{myValue}}</span><br /> 
    <input v-model="myValue"> 
</div> 

js đang

new Vue({ 
    el: '#app', 
    data: { 
     message: 'Watch example', 
     myValue: 50 
    }, 
    watch: { 
     'myValue': function(val, oldVal){ 
     if (val < 50) { 
      this.message= 'value too low!'; 
     }else{ 
      this.message= 'value is ok'; 
     } 
     } 
    } 
}) 

séc ra the example

+0

Điều này hoạt động nhưng chỉ khi giá trị phần tử span thực tế đang được thay đổi bằng cách nhập thứ gì đó khác vào trường nhập. Thanh trượt của tôi điều khiển giá trị trong hộp nhập mà không cần nhập và nó không kích hoạt. –

+2

nó chỉ thay đổi khi nhập vì tôi đã thêm 'v-model' vào đầu vào, bạn nên ràng buộc' v-model' thành kiểu đầu vào đang thay đổi giá trị của bạn. Nếu bạn đang thay đổi giá trị của bạn mà không có đầu vào, ví dụ trực tiếp với javascript, thì bạn phải đồng bộ hóa thuộc tính 'data' của thành phần Vue của bạn, và phản ứng sẽ làm phép thuật. Dù sao, nếu bạn muốn biết thêm chi tiết, bạn nên thêm phần mã thực sự thực hiện thay đổi –

+0

Nếu myValue không nằm trong thư mục gốc nhưng bên trong một đối tượng như ... trước: {myValue: ''} .. vì không có thể đưa vào đồng hồ một cái gì đó như 'đầu tiên, myValue' ... cách thích hợp cho nó là gì? ' – SoldierCorp

Các vấn đề liên quan