Oracle JET Router 与 Module 数据传递
Oracle JET 组件间数据传递方法。
路由:父路由:customers Router 子路由: cust Router
这里 Router 和 module 结合使用。
customer 包括 customers.js 和 customers.html
cust 包括 cust.js 和 cust.html
在 customers 中 cust 以 ojModule 显示。
1. cust.js 中获取父路由方法:
define(['ojs/ojcore', 'knockout', 'jquery'], function (oj, ko, $) {
function cust(params) {
var parentRouter = params.ojRouter.parentRouter;
self.custRouter = parentRouter.createChildRouter('cust');
}
return cust;
})
这里 params 不需要在父路由中传入东西即可使用 params 。使用 params.ojRouter.parentRouter 。即可获取父路由。
使用 parentRouter.createChildRouter('cust') 则可以创建子路由。
注意要使用 return cust ,不能 return new cust()
2. 父子组件通信。
1) customers.js
define(['ojs/ojcore', 'knockout', 'jquery'], function (oj, ko, $) {
function customers() {
this.text = ko.observable('123');
this.customersRouter = oj.Router.rootInstance;
this.customersRouter.configure({
'cust' : {label: 'cust'},
......
})
this.moduleConfig = ko.pureComputed(function() {
return $.extend(true, {}, this.customersRouter.moduleConfig, {
'params': { 'data': 'test','text': this.text}
})
})
}
return customers;
})
2) customers.html
在插入 ojModule 上的地方写上 ojModule: moduleConfig
3) cust.js
define(['ojs/ojcore', 'knockout', 'jquery'], function (oj, ko, $) {
function cust(params) {
var data = params.data;
var text = params.text;
text('456')
}
return cust;
})
子组件直接使用 params.data 就可以直接获取父组件传入的数据。
响应地,子组件更改内容 text('456'),也会反映到父组件之中。
3.在使用 Router 和多层嵌套 module 时需要注意,在 main.js 的 requirejs.config 中需要设置基本的 url ,否则多层嵌套的 module 不会执行。因为 module 路径会默认当前的 url。
如 module 在 http://XXX/ 下默认寻找 views 和 viewModels 在 js 目录下,可寻找成功。
若使用路由 url 变为 http://XXX/customers ,则会变成在 customers/js 目录下寻找 views 和 viewModels 。这样会使寻找文件失败,无法显示 module。
所以,在 main.js 下设置好 baseURL,默认为 baseURL: '/js' 更改为
Oracle JET Router 与 Module 数据传递的更多相关文章
- sqoop实现关系型数据库与hadoop之间的数据传递-import篇
由于业务数据量日益增长,计算量非常庞大,传统的数仓已经无法满足计算需求了,所以现在基本上都是将数据放到hadoop平台去实现逻辑计算,那么就涉及到如何将oracle数仓的数据迁移到hadoop平台的问 ...
- Vue之单文件组件的数据传递,axios请求数据及路由router
1.传递数据 例如,我们希望把父组件的数据传递给子组件. 可以通过props属性来进行传递. 传递数据三个步骤: 步骤1:在父组件中,调用子组件的组名处,使用属性值的方式往下传递数据 <Menu ...
- vue教程3-05 vue组件数据传递、父子组件数据获取,slot,router路由
vue教程3-05 vue组件数据传递 一.vue默认情况下,子组件也没法访问父组件数据 <!DOCTYPE html> <html lang="en"> ...
- Oracle JET 单页面应用程序Router 使用(上)
单页面应用程序:使用一个进加载一次的网页,如果页面由于用户的交互而改变,则仅绘制更改的页面部分. 要创建单页面应用程序需要使用 oj.Router 的虚拟导航来支持,ojModule 用来响应页面的重 ...
- Oracle JET(一)Oracle JET介绍
Oracle JET (Oracle Javascript Extension Toolkit)是一款 Oracle 的 JavaScript 拓展工具包.简单来说 Oracle JET 是一个一堆好 ...
- 无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)
1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...
- [转]Angular2-组件间数据传递的两种方式
本文转自:https://www.cnblogs.com/longhx/p/6960288.html Angular2组件间数据传递有多种方式,其中最常用的有两种,一种是配置元数据(或者标签装饰),一 ...
- Angular2-组件间数据传递的两种方式
Angular2组件间数据传递有多种方式,其中最常用的有两种,一种是配置元数据(或者标签装饰),一种是用单例模块传递:有两个元数据具有传递数据的功能:inputs和outputs. 一.元数据传递 1 ...
- SpringMVC -- 梗概--源码--壹--数据传递
附:实体类 Class : User package com.c61.entity; import java.text.SimpleDateFormat; import java.util.Date; ...
随机推荐
- 对Elastic集群内部配置TLS加密通信及身份验证
1.介绍 官方宣布从6.8和7.1开始,免费提供多项安全功能.其中包括tls加密通信,基于角色访问控制等功能. 可以使用企业CA证书来完成这一步骤,但是一般情况下,我们可以通过elasticsearc ...
- 【原】iptables 交叉编译
防火墙在做数据包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的数据包过滤表中,而这些表集成在 Linux 内核中.在数据包过滤表中,规则被分组放在我们所谓的链(chain)中.而netfil ...
- dns服务的基本配置
本文环境:CentOS 7 简介 DNS(Domain Name System)即域名服务系统,是Internet上用的最频繁的服务之一,它的本质是一个范围很广的分布式数据库,组织成域层次结构的计算机 ...
- STM32CubeIDE Debug Configurations
新建完工程并编译后,配置Debug Configurations 此时双击STM32 MCU Debugging,如下图 此时就可以下载调试生成的LED.elf文件了
- SpringMVC的工作原理及MVC设计模式
SpringMVC的工作原理: 1.当用户在浏览器中点击一个链接或者提交一个表单时,那么就会产生一个请求(request).这个请求会携带用户请求的信息,离开浏览器. 2.这个请求会首先到达Sprin ...
- Python之面向对象之单例模式的四种方式
一.内容 保证一个类只有一个实例,并提供一个访问它的全局访问点 二.角色 单利 三.使用场景 当类只有一个实例而且客户可以从一个众所周知的访问点访问它时 比如:数据库链接.Socket创建链接 四.优 ...
- Django 创建 hello world
前言 用Django 创建 hello 哈哈,对这个还是有点意思的 创建文件 在你的目录下 比如我是 F:\python\django 的输入下面的代码: django-admin startproj ...
- day02 计算机基础部分作业题
1. 简述执行Python程序的两种方式以及他们的优缺点: 交互式: 优点:在cmd窗口环境下,运行Python解释器,执行一行代码打印一行,执行速度快,立马显示结果: 缺点:关闭窗口,被执行的代码和 ...
- C语言中time函数和localtime获取系统时间和日期
可以通过time()函数来获得计算机系统当前的日历时间(Calendar Time),处理日期时间的函数都是以本函数的返回值为基础进行运算. 1. time 函数 返回1970-1-1, 00:00: ...
- PIXI如何绘制离屏canvas到舞台上
有个方法是toDataURL(),原生的,先转换成图片再绘制. 但是pixi提供了一个BaseTexture,其构造函数的参数可以是一个canvas 因此可以直接使用如下代码绘制canvas //微信 ...