簡體   English   中英

AngularJs觀看angular.element

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM