2

我试图从Telerik 的 UI 中使用 Angular2 为 Nativescript添加一个侧抽屉

他们有一个名为的指令showOverNavigation,它是一个布尔值,当设置为“True”值时应该完成工作,但它目前不适用于我的项目。

我会附上我的app.component.html代码,所以也许你可以帮助我发现其中的任何错误。

<RadSideDrawer showOverNavigation="{{true}}>"
<StackLayout tkDrawerContent class="sideStackLayout">
    <StackLayout class="sideTitleStackLayout">
        <Label text="Navigation Menu"></Label>
    </StackLayout>
    <StackLayout class="sideStackLayout">
        <Label text="Primary" class="sideLabel sideLightGrayLabel"></Label>
        <Label text="Social" class="sideLabel"></Label>
        <Label text="Promotions" class="sideLabel"></Label>
        <Label text="Labels" class="sideLabel sideLightGrayLabel"></Label>
        <Label text="Important" class="sideLabel"></Label>
        <Label text="Starred" class="sideLabel"></Label>
        <Label text="Sent Mail" class="sideLabel"></Label>
        <Label text="Drafts" class="sideLabel"></Label>
    </StackLayout>
</StackLayout>
<StackLayout tkMainContent>
    <ActionBar class="actionBar" title="Home">
        <image src="~/res/icon.png" (tap)=openDrawer() stretch="none" ios.position="left" ></image>
    </ActionBar>
    <Label [text]="mainContentText" textWrap="true" class="drawerContentText"></Label>
    <Button text="OPEN DRAWER" (tap)=openDrawer()></Button>
</StackLayout>
</RadSideDrawer>

请告诉我我可以就这个问题提供的任何其他信息。提前致谢!=)

4

3 回答 3

1

您正在创建 angular-2 项目,但您的布尔值被声明为来自 NativeScript Core 应用程序中的绑定模型。也许您可以尝试直接声明您的真实价值而无需绑定。

<RadSideDrawer showOverNavigation="true">
于 2016-10-06T18:02:36.337 回答
1

@Nick Iliev 给了我答案:

“根据这里的这个问题github.com/telerik/nativescript-ui-samples-angular/issues/26,showOverNavigation目前在 Angular + {N} 应用程序中不可用。它与这个线程github.com/NativeScript/nativescript-有关angular/issues/394所以你可能要留意它。”

我想这个问题现在通过这个贡献得到了解决。

谢谢@Nick Iliev

于 2016-10-06T19:34:59.273 回答
0

到今天为止,您可以通过 XML 或 Angular 代码轻松实现此行为。

从 XML

在 XML 视图定义中,您可以showOverNavigation像这样使用属性:

<RadSideDrawer [showOverNavigation]="true">
   ...
</RadSideDrawer>

来自 Angular 代码

除了 XML,您还可以通过 Angular 代码更改行为。如果你的组件中有一个ViewChild声明RadSideDrawerComponent,你可以像这样设置属性:

this.drawerComponent.sideDrawer.showOverNavigation = true;

假设你有这样的ViewChild声明:

@ViewChild(RadSideDrawerComponent) 
public drawerComponent: RadSideDrawerComponent;
于 2017-12-17T15:43:23.150 回答