[英]AngularJs watch angular.element
我正在嘗試將AngularJs集成到舊版Spring MVC應用程序中,因為有很多意大利面條javascript代碼(很大的混亂!)來根據條件等隱藏/顯示html元素。
它使用jsp和許多自定義的jsp標記,並且由於編寫方式,我很想弄清楚jsp標記本身。
我想做的是將spring輸入的值讀入角度范圍,一旦有了它,就可以使用角度來隱藏/顯示東西。
假設我的html是這樣的
<div ng-app ng-controller="FooCtrl">
Backbone <input type="radio" name="yes" value="Backbone"/>
Angular <input type="radio" name="yes" value="Angular" />
</div>
我能夠像這樣將這些元素讀入Angular的范圍
$scope.elements = angular.element("input[name='yes']");
但是,Angular不會觸發或監視這些元素的值更改。
理想情況下,當選中單選按鈕時,我希望更改模型。 我怎樣才能做到這一點?
先感謝您。
這是帶有基本設置的plnkr。 http://plnkr.co/edit/CRPBFF9FaGivBRa8OSdZ?p=preview
一件事是在您的控制器中您有:
$scope.$watch('$scope.elements',function(newValue){
console.log(newValue);
},true);
它應該是'elements'
而不是'$scope.elements'
。 我不確定$ watch或$ watchCollection是否將是您的最佳選擇。 我嘗試過,但是遇到了問題。
這是另一個想法:
var app = angular.module('myApp',[]);
app.controller('FooCtrl', function($scope){
$scope.message = "hi";
$scope.elements = angular.element("input[name='yes']");
angular.element("input[name='yes']").bind("input change", function(e) {
console.log(e);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.