0

シナリオ: ng-Model オブジェクト (myRide) のプロパティ (コード) にアクセスしようとしています。

  1. 私はこれをやってみました

    <select ng-model = "myRide" 
      ng-change = "getCode(myRide.code)"> 
    

    ...そしてgetCodeで、

    alert(parameter) //which should be myRide.code.

  2. 私もこれをやろうとしました

    <select ng-model = "myRide" 
      ng-change = getCode(myRide)
    

    (注: 「myRide.code」ではなく「myRide」が渡されます) ...そして getCode で、

    alert(myRide.code).

myRide には、未定義ではない「code」というプロパティが実際に含まれています。

問題:どちらの試行でも、必要な結果が得られません。


プロパティ(コード)を表示するにはどうすればよいですか?

これがJSFiddleです:http://jsfiddle.net/a2J6z/1/

4

2 に答える 2

1

フィドルを更新しました:

http://jsfiddle.net/a2J6z/3/

var ngApp = angular.module('ngAppl',[]);

function aControlla($scope){

    $scope.myRide = "bus";

    $scope.getCode = function(car){
        alert(JSON.parse(car).code);
    }

    $scope.myGarage = [
        {Name: "Toyota 86", code:"1"},
        {Name: "Hyundai Genesis Coupe", code:"2"},
        {Name: "Nissan GTR", code:"3"},
        {Name: "Veyron", code:"4"}
    ];
};

<div ng-app="ngAppl">
    <div ng-controller="aControlla">

        <select ng-model="myRide" ng-change="getCode(myRide)">

            <option ng-repeat="car in myGarage">{{car}}</option> 
            <!--Note: value of myRide MUST be simply 'car' (not say, 'car.Code')-->

        </select>

        <br/> This shows that 'myRide' contains the property called 'Name', and importantly, 'code':<br/> {{myRide}}




    </div>
</div>

基本的に、myRide をパラメーターとしてどの車があったかを警告するだけで、JSON 文字列が表示されたので、コードを取得するために解析を追加しました。いわば私がAngularJS初心者であるというより良い方法があるかもしれません。

于 2013-06-28T02:16:11.567 に答える