AngularJs观看angular.element

短信

我试图将AngularJs集成到旧版Spring MVC应用程序中,因为有很多意大利面条javascript代码(很大的混乱!)来根据条件等隐藏/显示html元素。

它使用jsp和许多自定义的jsp标记,并且由于编写方式,我很想弄清楚jsp标记本身。

我想做的是将spring输入的值读取到angular范围中,一旦有了它,就可以使用angular来隐藏/显示东西。

假设我的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);
  });

});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章