如何通过使用Angular按钮来更改视图中的某个变量?
例如视图:
<div id="someDiv" ng-app="myApp" ng-controller="myCtrl">
<p ng-bind="firstname"></p>
<button type="button" ng-click="changeValue('Joe')"></button>
</div>
脚本:
var app = angular.module('myApp', []);
app.controller("myCtrl", function($scope){
$scope.firstname = "Johny";
$scope.changeValue= function(param) {
$scope.firstname = param;
}
});
我希望当我按下按钮时,而Johny将成为Joe(如参数中所示)。 当我点击按钮时没有任何事情发生
@EDIT 好的,我知道问题出在哪里。这在我的主要div工作正常。然而,它并不适用于我的第二个div:
我通过点击其他按钮在下面运行脚本,这个脚本改变了我的div
function show(div_id){ //div_id is `someDiv`
document.getElementById('main_place').innerHTML = document.getElementById(div_id).innerHTML;
}
但是为什么角度脚本不适用于这个div?
答案 0 :(得分:0)
添加
$scope.changeValue = function(newVal) {
$scope.firstname = newVal;
}
在html上放<p>{{firstname}}<p>
答案 1 :(得分:0)
在控制器中试试这个:
$scope.changeValue = function(changeName)
{
$scope.firstname = changeName;
};
在视图中:
<p>{{firstname}}</p>
答案 2 :(得分:0)
请检查一下。
HTML:
<div id="someDiv" ng-app="myApp" ng-controller="myCtrl">
<p ng-bind="firstname"></p>
<button type="button" ng-click="changeValue('Joe')"></button>
</div>
JS:
var myApp = angular.module('myApp',[]);
myApp.controller("myCtrl", function($scope){
$scope.firstname = "Johny";
$scope.changeValue= function(param) {
$scope.firstname = param;
}
});
我为您的问题创建了一个工作示例:
答案 3 :(得分:0)
这是一个工作示例
var values = [];
snapshot.forEach(function(childSnapshot) {
childSnapshot.forEach(function(grandchildSnapshot) {
values.push(grandchildSnapshot);
})
})
promise.resolve(values)