我第一次构建了一个相当重要的Angular-js应用程序,并试图建立一些关于如何完成任务的直觉。大多数事情都是有意义的,但有一种模式特别让我困惑-
每当我将一个"include“样式指令放在一个ng-switch中时,它就会被忽略。我已经尝试了几乎所有我能想到的ng-switch、ng-include和ng-transclude样式,以实现所需的行为,但都无济于事。我没有注意到任何文档表明这将是不允许的,也没有任何同等风格的模式。
下面是我尝试做的一个例子:
<div ng-switch="is_logged_in()">
<div ng-switch-when="true">
logged-in:
<div ng-include="'views/logout.html'"> </div>
</div>
<div ng-switch-default>
not-logged-in
</div>
</div>预期的行为是在$scope.is_logged_in()返回true时显示注销表单。
我看到的行为是显示了“logged in:”,但没有显示include。
我尝试过Angular-js的各种版本。我检查了网络流量,发现include实际上正在被获取,但是我不能让它工作。在尝试使用指令构建自己的模板控制结构时,我也有相同的行为表现。
我看到的大多数示例都是通过在指令中使用JS来手动显示/隐藏已转换内容的各个部分-这真的是获得我正在寻找的行为的惯用方法吗?
谢谢!
发布于 2013-09-02 11:14:15
在使用ng-include时,我总是将路径分配给控制器中的变量。
$scope.logoutlink ='views/logout.html'在视图中,您可以将
<div ng-include="{{logoutlink}}"> </div>发布一个JSfiddle链接会很有帮助。
https://stackoverflow.com/questions/18564595
复制相似问题