出于示例目的,这里是一段非常基本的代码。CodePen示例http://codepen.io/anon/pen/yOYgEa
{{name}}
链接到
<input ng-model="name" type="text" placeholder="" id="name" />
因此,当在输入字段中键入一些文本时,它会反映在页面上。但是,如果的值#name
是动态设置的(在这种情况下,通过按按钮),则{{name}}
不会更新。
我知道有一种“角度”的方法,但是这只是一个例子,因为实际上动态变化将来自jQuery回调。
我尝试添加一个,$scope.watch
但似乎也不起作用。
试试这个 :
var app = angular.module('demo',[]);
app.controller('MyController', function MyController($scope) {
$("#mybutton").on("click", function(){
//$("#name").val("Demo");
$scope.name = "Demo"
$scope.$apply() // we use $scope.$apply() which will call $scope.$digest()
});
$scope.name = "Enter a value";
$scope.$watch('name',function(newValue, oldValue){
$scope.name(newValue);
});
});
$(document).ready(function(){
});
从$ {document).ready bcoz $ scope中删除代码在那里不可用。
编辑:您也可以使用ng-click
在HTML中
<input type="button" id="mybutton" value="Demo" ng-click="someFunction()">
在控制器中:
$scope.someFunction = function(){
$scope.name = "Demo"
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句