Maison > Questions et réponses > le corps du texte
Par exemple, j'ai un paramètre dans le contrôleur principal : $scope.datas
Ensuite, j'ai ici une directive qui demande des données sur le contrôleur accusé et souhaite ensuite les attribuer au $scope.datas du contrôleur principal.
Comment réussir ?
Par exemple, commande :
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) {
});
}
La commande s'applique directement sur la page :
<profit-search></profit-search>
Mais cette affectation est fausse :
$compile:nonassign
Comment le casser ? N'ai-je pas utilisé la liaison bidirectionnelle ci-dessus ?
曾经蜡笔没有小新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.