如何在角度2最终中使用templateUrl多个

时间:2016-10-17 10:45:12

标签: c# angular components

@Component({
selector: 'food-form',
templateUrl : './app/form.html',
templateUrl : './app/form2.html'        
})

我可以使用它吗?我想分割我的模板,因为它类似。

2 个答案:

答案 0 :(得分:1)

基本上,由于Javascript对象文字概念,您不能在组件中多次使用 loginWithFacebook(){ Facebook.login(['email']).then((response) => { alert('Logged in'); alert(JSON.stringify(response.authResponse)); },(error)=>{ alert(error); }) ,在您的情况下您需要做的是您需要创建包含共享表单的另一个组件然后您需要创建component1和component2,在这两个组件中,需要添加已创建的共享表单指令。从需要共享服务以及能够与两个组件通信。

换句话说,就像这样

templateUrl

然后在模板@Component({ selector: 'shared-form', templateUrl : './app/shared-form.html', }) @Component({ selector: 'food-form', templateUrl : './app/form.html', }) @Component({ selector: 'food-form2', templateUrl : './app/form2.html', }) form2.html中都可以使用

form1.html

使您可以在两个视图之间拥有一个共享表单。

注意:如果共享表单中的逻辑应该在两个组件中使用,那么您需要使用中间服务来在组件之间传递不同的值。有一个很好的例子here

这可以应用于不同的事情,您需要记住的是代码的哪一部分应该是可重用的,然后将其作为一个组件。

答案 1 :(得分:0)

不,你不能使用它,因为..

[ts] An object literal cannot have multiple properties with the same name in strict mode.

您可以使用template。 Angular2 Typescript允许使用`字符来引用它们来编写多行模板。