diff options
Diffstat (limited to 'docs/content/guide/dev_guide.mvc.understanding_model.ngdoc')
| -rw-r--r-- | docs/content/guide/dev_guide.mvc.understanding_model.ngdoc | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/docs/content/guide/dev_guide.mvc.understanding_model.ngdoc b/docs/content/guide/dev_guide.mvc.understanding_model.ngdoc index 15d8bcb2..4efb03ca 100644 --- a/docs/content/guide/dev_guide.mvc.understanding_model.ngdoc +++ b/docs/content/guide/dev_guide.mvc.understanding_model.ngdoc @@ -3,94 +3,70 @@ @name Developer Guide: About MVC in Angular: Understanding the Model Component @description - Depending on the context of the discussion in angular documentation, the term _model_ can refer to either a single object representing one entity (for example, a model called "phones" with its value being an array of phones) or the entire data model for the application (all entities). - In angular, a model is any data that is reachable as a property of an angular {@link dev_guide.scopes Scope} object. The name of the property is the model identifier and the value is any JavaScript object (including arrays and primitives). - The only requirement for a JavaScript object to be a model in angular is that the object must be referenced by an angular scope as a property of that scope object. This property reference can be created explicitly or implicitly. - You can create models by explicitly creating scope properties referencing JavaScript objects in the following ways: - * Make a direct property assignment to the scope object in JavaScript code; this most commonly occurs in controllers: - function MyCtrl() { // create property 'foo' on the MyCtrl's scope // and assign it an initial value 'bar' this.foo = 'bar'; } - * Use an {@link dev_guide.expressions angular expression} with an assignment operator in templates: - <button ng:click="{{foos='ball'}}">Click me</button> - * Use {@link api/angular.directive.ng:init ng:init directive} in templates (for toy/example apps only, not recommended for real applications): - <body ng:init=" foo = 'bar' "> - Angular creates models implicitly (by creating a scope property and assigning it a suitable value) when processing the following template constructs: - * Form input, select, and textarea elements: - <input name="query" value="fluffy cloud"> The code above creates a model called "query" on the current scope with the value set to "fluffy cloud". - * An iterator declaration in {@link api/angular.widget.@ng:repeat ng:repeater}: - <p ng:repeat="phone in phones"></p> - The code above creates one child scope for each item in the "phones" array and creates a "phone" object (model) on each of these scopes with its value set to the value of "phone" in the array. - In angular, a JavaScript object stops being a model when: - * No angular scope contains a property that references the object. - * All angular scopes that contain a property referencing the object become stale and eligible for garbage collection. - The following illustration shows a simple data model created implicitly from a simple template: - <img src="img/guide/about_model_final.png"> - - ## Related Topics - * {@link dev_guide.mvc About MVC in Angular} * {@link dev_guide.mvc.understanding_controller Understanding the Controller Component} * {@link dev_guide.mvc.understanding_view Understanding the View Component} |
