最佳实践:我应该使用ng-switch吗?

时间:2015-07-07 20:37:59

标签: javascript angularjs ng-switch

我在Angular中有这个对象。

$scope.columns = {
    workspace: {
        title: "Workspace",
        type: "workspace",
        activities: []
    },
    alerts: {
        title: "Alerts",
        type: "alert",
        activities: []
    },
    main: {
        title: "Main Feed",
        type: "main",
        activities: []
    }
};

在我的HTML中,我需要遍历它以在我的应用程序中动态创建一系列列(想想像Trello一样)

每个type都是对自定义指令的引用。

我正在试图找出放置指令的最佳方法。

根据这些数据,下面的代码是否是处理动态创建这些数据的适当方式?

<div ng-repeat="(key, obj) in columns">

    <div ng-switch on="obj.type">
        <workspace-feed ng-switch-when="workspace" />
        <alert-feed ng-switch-when="alert" />
        <main-feed ng-switch-when="main" />
        <filter-feed ng-switch-when="filter" />
    </div>

</div>

我希望能够做一些像...... <{{obj.type}}-feed />这样的事情,但我不确定这是否有效,或者是否有更好的方法来创建它。

非常感谢您的想法!

1 个答案:

答案 0 :(得分:2)

到目前为止你看到的很好。

根据列的不同,您可以选择仅使用一个动态加载模板而不是多个指令的指令。例如,请查看ng-include

double result = Convert.ToDouble(((2.01 + 2.52) / 2).ToString());
Console.WriteLine(Math.Round(result, 2, MidpointRounding.AwayFromZero));