语法
apply="a-class-name"
apply="class1, class2,..."
apply="${EL_returns_a_class_or_a_collection_of_classes}"
apply="${EL_returns_an_instance_or_a_collection_of_Composer_instances}"
可以指定一个类、类的集合,apply用于初始化组件(译者注:详见use和apply的区别).该类必须实现 Composer接口 ,然后可以在doAfterCompose方法内做一些初始化工作, 因为该方法会在组件和其子组件初始化后自动调用(译者注:callback)
1
|
< window apply = "foo.MyComposer" />
|
此外,也可以指定一个 Composer类型对象实例,或者使用el表达得到的Composer对象实例的集合.
注意: 如果指定了el表达式,那么表达式会在组件初始化之前执行. 因此你不能访问组件的引用, 内置隐含变量self 引用的是父组件,如果有的话,或者是当前page,如果当前组件是根组件。
===============================
译者注:
我设计了一个错误验证上述观点,因为隐含对象self标示的组件对应的类中,一定没有name123456的getter报错,
但异常信息一定会标示name123456属性所属的类,window组件对应org.zkoss.zul.Window类
label对应org.zkoss.zul.Label类,那么在label appy属性中的self到底是标示那个组件呢?
<window title="My First Window" border="normal" width="200px">
<label apply="${self.name123456}"/>
</window>
运行结果报错信息如下:
Unable to find a value for "name123456" in object of class "org.zkoss.zul.Window" using operator "."
因此apply中的self标示的是父组件或者当前页面对象
======================================================================
如果想获取更多的控制权,例如异常处理,可以实现 ComposerExt 接口
假如有一个composer,你想引用到没一个页面,但又不想在每个页面都重复指定,可以注册一个系统级的composer。了解更多信息见 ZK Developer's Reference: System-level Composers.
相关推荐
为了方便复用,可以将这个组件封装成一个插件,通过`Vue.use()`注册到全局,这样在其他Vue项目中只需简单引入即可使用。 9. **配置项与API**: 组件通常会提供一系列配置项,如上传URL、文件类型限制、最大文件大小...
每个路由对象通常包含`path`(路径)、`component`(对应的组件)和其他可选属性,如`name`(路由的名字)、`props`(传递给组件的属性)等。 ```javascript import Vue from 'vue' import Router from 'vue-router...
- `src` 目录:包含组件源码、样式和公共函数。 - `components` 目录:存放各个具体组件,每个组件有自己的 `.vue` 文件。 - `styles` 目录:管理组件的样式文件,如全局样式和组件专属样式。 - `examples` 或 `...
本例中,我们探讨的是如何在`App.vue`的公共组件中更改值,并触发其他组件或`.vue`页面的监听事件。具体场景是:在`App.vue`的头部公共组件中有一个输入框,用户输入的词条需要传递到`<router-view>`内的子组件中...
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...
3.5 公共机制 3.6 扩展机制 3.6.1 构造型 3.6.2 标记值 3.6.3 约束 第4章 use case图 4.1 概述 4. 2 活动者 4.2.1 系统范围与系统边界 4.2.2 活动者 4.2.3 活动者的确定 4.3 use case ...
- 在组件脚本中,可以使用`export default`导出组件对象,包含props、data、methods等属性。 5. **配置与打包** - 使用`vue.config.js`配置文件,设置输出路径、公共路径、生产环境配置等。 - 运行`npm run ...
在组件中,可以通过`this.$store.getters`访问getter,既可以直接使用属性名,如`this.$store.getters.getNumber`,也可以作为方法调用并传递参数。 3、Mutation Mutation是修改Vuex store中状态的唯一途径,它以...
总之,"android圆环百分比视图"是一个自定义的Android UI组件,它结合了图形绘制和自定义属性,提供了高度可定制的界面元素,使开发者能够轻松创建具有专业视觉效果的应用界面。通过理解并运用其中涉及的XML布局、...
公共变量是共享资源的数据结构,条件变量是用于同步进程的信号量,过程是操作公共变量的函数,入口初始化代码是初始化公共变量和条件变量的代码。 四、管程的示例 以下是一个简单的管程示例: ``` TYPE SSU = ...
属性传值是最基础的传值方式,通过实例变量或公共属性直接赋值。例如,在两个类`ClassA`和`ClassB`之间,如果`ClassB`是`ClassA`的子类或持有`ClassA`的实例,可以直接通过属性进行赋值。 ```swift class ClassA ...
这些组件可能是可配置的,允许通过属性传递参数,或者与其他组件交互。你还可以学习如何通过RequireJS的`shim`配置来处理非AMD(非异步模块定义)的库,如jQuery,使其与RequireJS一起工作。 此外,...
2. **组件化SVG图标**:在Vue中,我们可以创建一个SVG图标组件,接收`color`等属性,然后在模板中传递给SVG元素。 ```javascript // svg-icon.vue <use :xlink:href="iconPath"></use> export default { ...
文件夹`lib`通常包含项目的库文件或者自定义的公共函数和工具。在Vue项目中,可能会存放一些自定义的Vue组件、样式文件、或者是第三方库如axios用于处理HTTP请求。 对于品牌列表案例,可能需要与后端API进行交互,...
例如,文中提到的`Customer`、`Goods`、`Order`、`管理员`、`标题title类`、`二级标题类`和`公共操作类`都是类图中的元素,它们定义了系统的基本数据结构和行为。 - **类的属性和操作**:每个类可以包含属性(代表...
【物件的封装性、继承性和多元性】封装性是物件导向的核心原则之一,它允许物件隐藏内部细节,只对外提供公共接口,以保护数据的安全性和防止意外修改。继承性则允许新类从现有类中继承特性,从而实现代码的复用和...
- 接口定义了对象的公共行为,可以被其他对象或组件引用和实现。 9. **包(Package)**: - 包用于组织UML模型元素,可以封装一组相关的类、接口和其他包。 10. **注释(Notes)**: - 注释提供对模型元素的...
- 创建一个C++ Win32控制台应用程序UseDll,并设置公共语言运行库支持为/clr。 - 在C++程序中,包含头文件并使用#using指令导入C#编写的DLL文件。 - 通过托管指针调用C# DLL中的方法,并获取返回值。 ```cpp #...
可以设置全局请求拦截器(`axios.interceptors.request.use()`)和响应拦截器(`axios.interceptors.response.use()`),进行请求的统一处理,如添加请求头、错误处理等。 6. **公用方法**:可以创建一个`utils`...
在以上代码中,`store` 是 Vuex 状态管理库的一个实例,`isLoggedIn` 是存储用户登录状态的属性。如果访问的页面需要登录权限,而用户未登录,那么会自动跳转到登录页面。 至此,你已经掌握了如何使用 Vue.js 和 ...