Maison > Questions et réponses > le corps du texte
比如,我在主控制器中有一个参数是: $scope.datas
然后,我在这里有一个指令,在指控的控制器上请求数据,然后想要赋值给主控制器的 $scope.datas。
如何得逞呢?
如,指令:
app.directive('profitSearch', function () {
return {
restrict: 'AE',
scope: {
datas: "="
},
templateUrl: "/templates/profitSearch.jsp",
controller: function ($scope, $http) {
$http({
url: 'doSearch.req',
method: 'POST',
data: $scope.searchObject
}).success(function (response, header, config, status) {
$scope.datas = response.content;
}).error(function (response, header, config, status) {
});
}
指令在页面直接应用:
<profit-search></profit-search>
但是这样赋值是错误的:
$compile:nonassign
怎么破呢?我上面不是用了双向绑定了吗?
曾经蜡笔没有小新2017-05-15 17:07:14
Il n'y a aucune affectation lorsque vous l'utilisez dans la commande. Essayez de le remplacer par ceci.
scope: {
datas: "=?"
},
Ou attribuez une valeur à la commande
<profit-search datas="datas"></profit-search>
https://docs.angularjs.org/error/$compile/nonassign
仅有的幸福2017-05-15 17:07:14
Avez-vous besoin d'écrire des instructions ? Allez! Non seulement cela fait perdre du temps en écrivant des instructions de manière aléatoire, mais les performances ne seront pas meilleures. Écrire une requête directement dans le service devrait résoudre le problème.