动态更改TeplateUrl

时间:2019-01-14 15:08:09

标签: angular angularjs-directive

  

我正在尝试动态制作templateUrl,但似乎返回了   UI中的URL字符串。

这是我的代码

@Component({
  selector: 'app-login',
  templateUrl: '../login/'+Setting.URL+'/login.html',
  // templateUrl: '../login/web/login.html',
  styleUrls: ['./login.component.scss']
});

问题是模板网址无法读取html文件位置。

1 个答案:

答案 0 :(得分:0)

正确的动态URL方法是通过深度链接,始终使用相同的html模板,但信息不同。

在您的路由器中:

const routes: Routes = [
  {
    path: 'login/:name',
    component: LoginComponent,
  }
];
...
RouterModule.forRoot(routes, {useHash: true})

在您的组件中:

@Component({
  selector: 'app-login',
  templateUrl: '../login/web/login.html',
  styleUrls: ['./login.component.scss']
});

constructor(
  private route: ActivatedRoute,
) {
  this.route.params.subscribe((params) => {
    console.log(params.name);
  });
}