Tapestry : 在相应的 javascript 文件中访问 page/component 属性
Tapestry : Access page/component property in corresponding javascript file
假设我有一个名为 testComp 的组件,它有一个字符串 属性 testProperty。 testComp.java对应的是一个js文件testComp.js
如何在 testComp.js 中访问 testProp?
我试过跟随,但出现错误。
console.log( ${testProp} );
我知道我可以在 tml 文件中执行 ${testProp} 但我需要在 javascript 文件中访问此 属性。我已经在邮件列表中进行了搜索,但到目前为止还没有成功。知道怎么做吗?
试试这个:
testComp.java
@Inject
private JavaScriptSupport javaScriptSupport;
@AfterRender
private void after() throws Exception {
JSONObject arguments = new JSONObject();
arguments.put("testProperty", this.testProperty);
javaScriptSupport.addInitializerCall("testComp", arguments);
}
testComp.js
Tapestry.Initializer.testComp = function (json) {
new testComp(json);
};
function testComp(json){
alert(json.testProperty);
}
假设我有一个名为 testComp 的组件,它有一个字符串 属性 testProperty。 testComp.java对应的是一个js文件testComp.js
如何在 testComp.js 中访问 testProp?
我试过跟随,但出现错误。
console.log( ${testProp} );
我知道我可以在 tml 文件中执行 ${testProp} 但我需要在 javascript 文件中访问此 属性。我已经在邮件列表中进行了搜索,但到目前为止还没有成功。知道怎么做吗?
试试这个:
testComp.java
@Inject
private JavaScriptSupport javaScriptSupport;
@AfterRender
private void after() throws Exception {
JSONObject arguments = new JSONObject();
arguments.put("testProperty", this.testProperty);
javaScriptSupport.addInitializerCall("testComp", arguments);
}
testComp.js
Tapestry.Initializer.testComp = function (json) {
new testComp(json);
};
function testComp(json){
alert(json.testProperty);
}