Angularjs 改变函数中的作用域数据
我正在开发一个带有angular的应用程序,我想在编辑页面中对一个对象变量进行一些计算 例如,当我得到我的命题(对象)时,我想在页面加载时设置Angularjs 改变函数中的作用域数据,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我正在开发一个带有angular的应用程序,我想在编辑页面中对一个对象变量进行一些计算 例如,当我得到我的命题(对象)时,我想在页面加载时设置命题.marge_理论如下命题.marge_理论=2*命题.marge_格栅 我要做的第一件事是使用API获取对象,然后调用我的函数calcul(),该函数必须进行计算 我的问题是,我不知道如何告诉calcul修改$scope.proposition 这是我的密码 'use strict'; var app = angular.module('app',
命题.marge_理论
如下命题.marge_理论=2*命题.marge_格栅
我要做的第一件事是使用API获取对象,然后调用我的函数calcul()
,该函数必须进行计算
我的问题是,我不知道如何告诉calcul修改$scope.proposition
这是我的密码
'use strict';
var app = angular.module('app', []);
app.controller('propositionCtrl',['$scope', 'propositionRepository', '$http',
function ($scope, propositionRepository, $http) {
// $scope.proposition = { marge_propose: 3 };
//////////////////////////////DEFINITIONS////////////////////////////////////
$scope.submit = function () {
$http.put('/api/propositionapi', $scope.proposition);
}
function getProposition() {
propositionRepository.getProposition(function (result) {
$scope.proposition = result;
}
)
}
function calcul(contexte) {
contexte.proposition.marge_theorique = contexte.proposition.marge_grille * 2;
}
///////////////////////////////UTILISATION///////////////////////////////////
console.log("on est dans la page");
getProposition();
calcul($scope);
;
}])
app.factory('propositionRepository', function ($http) {
return {
getProposition: function (callback) {
$http.get('/api/propositionapi/3').success(callback);
}
}
})
我也尝试过这样做
function calcul() {
$scope.proposition.marge_theorique = $scope.proposition.marge_grille * 2;
}
然后只需调用calcul()
,但它也不起作用
我该怎么办
非常感谢 调用的
getProposition
本质上是异步的,您需要等待响应可用。您可以使用回调函数。更新getProposition
函数
function getProposition() {
propositionRepository.getProposition(function (result) {
$scope.proposition = result;
calcul($scope);
})
}
并删除调用
calcul($scope)代码>在getProposition()之后完成代码>从控制器的末尾开始谢谢它的工作!问题是,当用户在编辑页面中更改proposition.marge_grill的值时,必须调用calcul。我不知道怎么做…我不知道你的应用程序的结构,但看看角度手表。它们可以跟踪模型更改并触发事件处理程序。