JavaScript MVC 框架:Ity
Ity 是一個小型的無依賴的 JavaScript MVC 框架。
App
- App.getView(id) - returns Ity.View instance by id
- App.addView(view) - add Ity.View instance to internal views array
- App.removeView(id) - remove Ity.View instance from internal views array by id
- App.trigger(evtName, data) -- trigger event by name on Application level. Optionally pass data
Model
- Model.initialize(options) - called on instatiation of Model instances, optional options hash can be passed
- Model.get("someDataPoint") - get value from internal data object hash by key
- Model.set("someDataPoint", ) - set value of internal data object by key
- Model.unSet("someDataPoint") - clear out valye of interanl data objecy by key
- Model.clear() - clear entire internal data objecy
- Model.on("eventName", ) - listen to Model instance events and call callback function
- Model.sync(options) - sync data in internal data object. Optionally pass options hash for url, type, success, error
- Model.trigger("eventName", ) - trigger event by name on Model instance and optionally pass data
View
- View.initialize(options) - called on instatiation of View instances, optional options hash can be passed
- View.getName() - return name attribute of view.
- View.get() - return attribute of view by key String
- View.set(, ) - set attribute of view to passed value
- View.on("eventName", ) - listen to View instance events and call callback function
- View.remove() - Remove internal el element and remove view from app
- View.trigger("eventName", ) - trigger event by name on View instance and optionally pass data
- View.select() - select DOM elements within set el object.
示例代碼:
var myApp = new Ity.Application();
var myModel = new Ity.Model();
var myView = new Ity.View({
el: '.someElement',
app: myApp,
model: myModel,
events: {
".btn" : {
"click": "onBtnClick",
"hover": "onBtnHover"
},
".fancyBtn" : {
"click": "onFancyBtnClick",
"focus": "onFancyBtnFocus"
}
},
initialize: function(options) {
this.model.on("change", this.render, this);
},
render: function() {
this.select(".myContainer").html(this.model.get("someData"));
},
onBtnClick: function(evt) {
var output = this.select("#difWithId").find(".output");
output.html("<div><p>Click!</p></div>")
}
//... more click, hover, focus events from events hash
}); 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!