#まず見るべき
以下のURLは、常に更新されているコンテンツです。
- ドキュメント日本語版
- 日本語版ドキュメントはVue.js日本語コミュニティによって常に更新されています。ミスがあれば、是非jp.vuejs.orgまでプルリクエストを頂けると助かります。
- 質問や議論は日本語コミュニティのSlackが活発です。
- はじめに読むものとしては、下記のコンテンツが良いでしょう。
- 概要
// Created by gil_birman on 11/22/19. | |
import Combine | |
import FirebaseFirestore | |
import FirebaseStorage | |
import Foundation | |
enum FirebaseCombineError: Error { | |
case encodeImageFailed | |
case nilResultError |
import SwiftUI | |
let dateFormatter = DateFormatter() | |
struct NoteItem: Codable, Hashable, Identifiable { | |
let id: Int | |
let text: String | |
var date = Date() | |
var dateText: String { | |
dateFormatter.dateFormat = "MMM d yyyy, h:mm a" |
##Some points to mention... | |
## | |
##The model knows nothing about the view or the controller. | |
##The view knows nothing about the controller or the model. | |
##The controller understands both the model and the view. | |
## | |
##The model uses observables, essentially when important data is changed, | |
##any interested listener gets notified through a callback mechanism. | |
## | |
##The following opens up two windows, one that reports how much money you |
import { h, Component } from 'preact'; | |
import Markup from 'preact-markup'; | |
import register from './preact-custom-element'; | |
// just a proxy component: WC -> Preact -> WC | |
const A = () => <x-b foo="initial foo from <x-a>" />; | |
// stateful component that can re-render | |
class B extends Component { | |
render(props, state) { |
from Foundation import * | |
from ScriptingBridge import * | |
# Returns the methods of the object | |
def __methods( theObject ): | |
return [method for method in dir(theObject) if callable(getattr(theObject, method))] | |
# Elements present in one list but not in the other | |
def __diffList( A, B): | |
return list( set( A ) - set( B ) ) |
#まず見るべき
以下のURLは、常に更新されているコンテンツです。
(function(todo) { | |
'use strict'; | |
// viewの追加イベントを監視。TodoListに新規Todoを追加する。 | |
todo.View.on('add', function(description) { | |
todo.TodoList.add(new todo.Todo(todo.TodoList.length, description)); | |
todo.View.clearInput(); | |
}); | |
// viewの変更イベントを監視。モデルの状態を更新を命令。 |
Application('System Events') | |
.processes['SystemUIServer'] | |
.menuBars | |
.menuBarItems | |
.whose({ | |
name: 'Notification Center' | |
}) | |
.menuBarItems() | |
.reduce(function(a, b) { | |
return a.concat(b); |
You don't really need a framework or fancy cutting-edge JavaScript features to do two-way data binding. Let's start basic - first and foremost, you need a way to tell when data changes. Traditionally, this is done via an Observer pattern, but a full-blown implementation of that is a little clunky for nice, lightweight JavaScript. So, if native getters/setters are out, the only mechanism we have are accessors:
var n = 5;
function getN() { return n; }
function setN(newN) { n = newN; }
console.log(getN()); // 5
setN(10);
var mediaJSON = { "categories" : [ { "name" : "Movies", | |
"videos" : [ | |
{ "description" : "Big Buck Bunny tells the story of a giant rabbit with a heart bigger than himself. When one sunny day three rodents rudely harass him, something snaps... and the rabbit ain't no bunny anymore! In the typical cartoon tradition he prepares the nasty rodents a comical revenge.\n\nLicensed under the Creative Commons Attribution license\nhttp://www.bigbuckbunny.org", | |
"sources" : [ "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" ], | |
"subtitle" : "By Blender Foundation", | |
"thumb" : "images/BigBuckBunny.jpg", | |
"title" : "Big Buck Bunny" | |
}, | |
{ "description" : "The first Blender Open Movie from 2006", | |
"sources" : [ "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4" ], |