2013-06-19 20 views
6

tôi vẫn đang cố gắng để quấn quanh đầu tôi mô hình lập trình phản ứng trong Meteor, vì vậy đây có lẽ là một câu hỏi ngớ ngẩn, nhưng:biến phản ứng để nắm bắt đầu vào sử dụng (Meteor)

Tôi có thể sử dụng mẫu hệ thống để trích xuất dữ liệu, thay vì "tiêm" nó, như được ghi lại. Tức là, tôi có một vùng văn bản giống như vậy

 <textarea id="desc" rows="15" cols="80" > {{projectDescription}} </textarea> 

Sau đó, có thể truy cập vào trường Dự ánMô tả là nguồn dữ liệu phản ứng không? Tôi đã không nhận được bất kỳ nơi nào với Template.project.projectDescription tại REPL, nhưng như tôi đã nói, tôi mới tham gia trò chơi này.

Nếu những gì tôi đề xuất là không thể, cách tiếp cận thành ngữ là gì? Giống như, tôi sẽ đặt

document.getElementById('desc').value 

Bản đồ sự kiện vào mẫu theo cách thiết kế này được thực hiện? Điểm của điều này là để, giả sử rằng, một đầu vào là duy nhất (một câu hỏi máy chủ) hoặc làm on-the-fly mkdn (như đang xảy ra RIGHT NOW khi tôi gõ ...). Nhưng chủ yếu, tôi đang cố gắng để có được một cảm giác cho Meteor.

Trả lời

5

Phản ứng chỉ có một cách, tuy nhiên bạn có thể đăng ký một sự kiện trên mẫu để bắt KeyDown sự kiện mà sau đó có thể đặt biến phiên. Biến phiên là các nguồn dữ liệu phản ứng để bạn có thể sử dụng biến và trình trợ giúp mẫu để tạo ra phản ứng của bạn trong một phần khác của mẫu.

Như một ví dụ:

<template name="project> 
    <textarea id="desc"></textarea> 
    <div>{{projectDescription}}</div> 
</template> 

-

Template.project.events({ 
    "keydown #desc": function (event) { 
    var value = $(event.target).val(); 
    Session.set("projectDescription", value); 
    } 
}); 

Template.project.helpers({ 
    projectDescription: function() { 
    var projectDescription = Session.get("projectDescription"); 
    //do processing 
    return projectDescription; 
    } 
}); 
+0

beens mát. Đó là khá nhiều những gì tôi đã thực hiện kể từ khi đặt câu hỏi. Thật đáng khích lệ khi thấy rằng tôi ít bối rối hơn tôi nghĩ! – Ben

+0

Vâng, tôi phải thừa nhận rằng sao băng có thể gây nhầm lẫn lúc đầu, sau đó bạn sẽ có thời điểm đó khi tất cả cuối cùng có ý nghĩa .. –

+0

Ngoài ra tôi cá nhân giới thiệu cuốn sách Discover Meteor .. Ít đắt tiền cho một cuốn sách điện tử nhưng có có khá nhiều mẹo và mẹo để làm việc với thiên thạch mà bạn không thể dễ dàng tìm thấy ở bất kỳ nơi nào khác. –

2

Meteor không cung cấp loại ràng buộc hai chiều mà bạn có thể gặp phải trong một số khung công tác. Có thể có các gói thông minh ra khỏi đó để giúp đỡ với điều này, nhưng cách vani là để ràng buộc các sự kiện để các yếu tố DOM:

Template.xyz.events({ 
    "keyup #desc": function (evt, template) { 
     Session.set("projectDescription", evt.currentTarget.value); 
    } 
}); 
Các vấn đề liên quan