2012-01-05 4 views
0

Я ищу способ привязки функции к изменению переменной.Вызов функции при изменении переменной

var arr = [], 
    str = 'hello'; 
onChange(arr, console.log); 
onChange(str, console.log); 
arr.push('element'); // console output: ["element"] 
str += ' stack over flow'; // console output: "hello stack overflow" 

- или что-то в этом роде.

Есть ли какие-либо мини-рамки, написанные в чистом JS или с jQuery для этого?

+1

Возможный дубликат [обнаружение изменения переменной в javascript] (http://stackoverflow.com/questions/1759987/detect-variable-change-in -javascript) –

+0

Да, мне нужно что-то подобное, но также и возможность отслеживать изменения массива (через перезаписанные .push() и другие методы). – eXtractor

ответ

1

Вы можете использовать knockout.js для этого типа элемента ui -> привязка данных. Это довольно удивительно и поддерживает jQuery по умолчанию (хотя могут использоваться и другие фреймворки)

+0

Да, я действительно рассматривал использование knockout.js раньше и не был уверен, хочу ли я переписать большую часть моего приложения прямо сейчас. Теперь я обнаружил, что ko.observable выглядит именно так, что я хочу, кроме одного: я бы предпочел monkeypatching, но это не имеет большого значения. – eXtractor

+0

И я изначально думал, что для него нужен шаблон jQuery :) – eXtractor

Смежные вопросы