b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

视图层的作用_cad视图层设置_视图和表的区别(6)

电脑杂谈  发布时间:2016-12-09 15:07:58  来源:网络整理

在Handlebars上下文之外,Ember中的模板还有当前视图的概念。无论当前的上下文是什么,view属性总是引用了最近的视图。

注意view属性从来都不会引用为像{{#if}}这样的块表达式创建的内部视图。这就可以用来区分Handlebars上下文了,它永远如工作在Vanilla Handlebars和视图层级中一般。

因为view指向一个Ember.View实例,所以可以使用如同view.propertyName这样的表达式来访问任何属性。也可以通过view.parentView来访问父视图。

例如,假定有一个视图包含如下的属性:

及如下的模板:

即使Handlebars上下文改变为当前的控制器,依然可以通过引用view.bulletText来访问视图的bulletText。

本指南到目前为止,在Handlebars模板中都在围绕着使用controller属性捣鼓。那么它是从何而来的呢?

Ember中Handlebars上下文可以从其父上下文中继承变量。在Ember在当前上下文中查找变量之前,首先在模板变量中进行查找。由于一个模板创建新的Handlebars作用域,这将自动从其父作用域中继承变量。

Ember定义这些view和controller变量,因此当一个表达式使用view或controller名称时,都是最先被找到的。

如上所述,Ember在Handlebars上下文中设置view变量,无论模板中什么时候使用{{#view}}助手。一开始,Ember将view变量设置为渲染模板的视图。

Ember在Handlebars上下文中设置controller变量,无论一个被渲染的视图什么时候有controller属性。如果一个视图没有controller属性,它将从最近的拥有controller变量的视图中继承过来。

Ember中的Handlebars助手可以指定变量。例如,{{#with controller.person as tom}}指定了一个能在派生的作用域中访问的变量tom。即使子上下文也有一个tom属性,这个tom变量也将替代它。

这种形式能获得的一个主要好处是:在能访问父作用域的同时,缩短路径的长度。

这在提供{{#each person in people}}形式的{{#each}}助手中尤为重要。这种形式派生的上下文能够访问person变量,且同时保持了模板中调用each处相同的作用域。

注意这些变量继承自ContainerView,即使它不属于Handlebars上下文层级。

在大多数情况下,需要在模板内部访问模板变量。而在一些特殊的情况下,可能希望在视图的Javascript代码中访问在作用域中的模板变量。

通过访问视图的templateVariables属性可以实现。这个属性返回在视图被渲染时的一个包含了在作用域中的变量的Javascript对象。ContainerView同样可以访问该属性,这个属性引用了最近的一个基于模板的视图的模板变量。

目前,还不可以观察或者绑定一个包含templateVariables的路径。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-22614-6.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 李芬
      李芬

      真正打海战是不行的

    • 房增华
      房增华

      比濒海战斗舰强百倍

    • 曹丹
      曹丹

      从目前美舰已闯进12海里的事实看

      • 库尔尼科娃
        库尔尼科娃

        但是起码还是遮遮掩掩的

    热点图片
    拼命载入中...