Я пытаюсь дать мой динамический стиль div - я хочу, чтобы css пришел с контроллера, где объект css, который возвращает контроллер, не жестко закодирован, а динамически изменяется (мне нужен «верхний», поле, которое является переменной). Я использую нг стиль, чтобы попытаться достичь этого:Angular ngStyle Variable Style
-html-
<div id="preview" ng-style="setTopPosition()">
-controller-
$scope.setTopPosition = function() {
console.log("top position: " + $scope.topPosition);
var retObj = { top : $scope.topPosition , background: "green" };
console.log(retObj);
return retObj
};
Теперь я знаю, что значения я ожидал ($ scope.topPosition и т.д.) есть (они показывают в журнале консоли), и я знаю, контроллер запускает его код, так как фон div становится зеленым. Однако верхняя позиция не работает. Не можете ли ng-стиль использовать объекты с переменными полями? Кроме того, нужно ли это настраивать вместо этого?
Как все говорили, что вам нужно, чтобы убедиться, что у вас есть " px 'добавлено к значению, однако моя проблема на самом деле заключалась в том, что $ scope.topPosition вычислялось как несинхронно. В таком случае вам нужно добавить $ scope. $ Apply –
Ну, вам нужно иметь 'px', если вы не используете jQuery .... – iConnor