Polymer App Routing没有获取变量

时间:2017-01-05 03:32:01

标签: polymer

我尝试使用“聚合”中的“应用位置”和“应用路由”在我的网址中传递变量,但子路径似乎并没有获取变量。任何人都可以帮我弄清楚我做错了什么吗?

代码:

<app-location route="{{route}}"></app-location>
 <app-route
   route="{{route}}"
   pattern="/desk/:project/:scene"
   data="{{data}}"
   tail="{{subroute}}">
 </app-route>

route.path显示为/variable/variable,但projectscene为空。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

以下代码使用两个元素来监控完整的URL 第一个将绑定到项目值,并为第二个元素输出{{subroute}}。

<app-location route="{{route}}"></app-location>
 <app-route
   route="{{route}}"
   pattern="/desk/:project"
   data="{{data}}"
   tail="{{subroute}}">
 </app-route>

第二个将绑定到场景值。

  <app-route
   route="{{subroute}}"
   pattern=":scene"
   data="{{data}}">
 </app-route>

答案 1 :(得分:0)

projectscene的值从data读取,<app-route>.data绑定到data.project(如data.scenehttp://localhost:8080/desk/123/456

因此,如果您的网址为data,则您的{ project: '123', scene: '456' } 对象将包含:

String path = this.getApplicationContext().getFilesDir() + "/testDir/";
File file = new File(path);
file.mkdirs();
path += "testlab.txt";
OutputStream myOutput;
try {
myOutput = new BufferedOutputStream(new FileOutputStream(path,true));
write(myOutput, new String("TEST").getBytes());
myOutput.flush();
myOutput.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

codepen