2015-06-29 38 views
2

我想訪問{{ test.data('something') }},但它不起作用。我如何獲得angularJS的數據屬性

<select ng-model="test"> 
    <option data-something="mySomething" value="blahblah">blahblah</option> 
</select> 

有什麼方法可以訪問嗎?

我使用的角度1.3.14(當前最新)

回答

1

如果你只分配變量的屬性,你可以隨時訪問變量。這也是如何角是指使用:

控制器:

// Reference to mySomething 
$scope.mySomething = "Some value"; 

視圖:

<select ng-model="test"> 
    <option data-something="mySomething" value="blahblah">blahblah</option> 
</select> 

當有多個選項(例如一個NG-選項)可以執行以下:

控制器:

$scope.myOptions = [ 
    { mySomething: "Something", value: "1", text: "Value 1" }, 
    { mySomething: "Something else", value: "2", text: "Value 2"} 
]; 

$scope.doSomething = function() { 
    console.log($scope.test.mySomething); 
} 

觀點:

<select ng-options="opt.value as opt.text for opt in myOptions" 
     ng-model="test" 
     ng-change="doSomething()"> 
</select> 

要訪問屬性值一個指令裏面,看到this thread對SO

+0

肯定的,但可以說我有一個以上的選項?我怎麼知道選擇的是什麼?有數據的東西屬性可能有不同的值 –

+0

請參閱編輯的答案。您可以將對象綁定到select並通過'ng-model'獲取選定的對象 – devqon