2013-05-19 25 views
-2

在JS文件$scope.button = id ? "Edit" : "Add";工作正常。我想用它查看像需要三元運算符和代碼建議

<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) { 

    }; 

}); 

回答

3

車把{{}}內部使用的語法是不完整的JavaScript,但Angular expression language。三元運算符目前不支持這種表達式語言(但它是coming soon)。現在你可以使用這個語法來代替:

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

我的第三個問題,請 – Pirzada

+0

你只是想基於範圍的東西分配您的按鈕的價值和作用?爲什麼不把scope.action設置爲Edit或Add並檢查它? – Jason