需要三元运算符和代码建议

时间:2013-05-19 08:56:13

标签: javascript angularjs

在JS文件中$scope.button = id ? "Edit" : "Add";工作正常。我想在View中使用它

    <button name="saveBtn" class="btn btn-primary" 
tabindex="10">{{person.id ? 'Edit' : 'Add'}}</button>

1 - 以上代码无效。尝试了不同的组合。

2 - 我应该使用View或Js文件来保存此代码吗?

3 - Applying code from here

问题是:我已初始化init()功能,如下所示。这是正确的方法还是你有更好的分享方法?

app.controller('PersonCtrl', function ($scope, $routeParams, personService) {

    list();
    function list() {
        var id = ($routeParams.id) ? parseInt($routeParams.id) : 0;
        if (id > 0) {
            $scope.person = {};
            $scope.person = personService.getPersonById(id);
        } else
        //$scope.people = [];
        $scope.people = personService.getPeople();
    };

    $scope.edit = function () {

    };

    $scope.delete = function (id) {

    };

});

1 个答案:

答案 0 :(得分:3)

把手{{}}中使用的语法不是完整的JavaScript,而是Angular expression language。目前,这种表达式语言中没有三元运算符(但它是coming soon)。现在您可以使用以下语法:

{{ person.id && 'Edit' || 'Add' }}