AngularJS выражение $ scope не оценивается в шаблоне html - PullRequest
0 голосов
/ 25 февраля 2019

Я могу правильно установить console.log всех значений, но выражение img ng-src = "{{$ scope.bus}}" не оценивается.Я очень плохо знаком с angularJs, любая помощь будет отличной.Ниже приведен код

$scope.showAdvanced = function (ev, bus) {

      $scope.bus = bus;
      console.log(bus);
      console.log("scope.bus ="+$scope.bus);
      $mdDialog.show({
        controller: DialogController,
        template: '<div role="dialog" aria-label="Eat me!" layout="column" layout-align="center center">' +
          '    <md-toolbar>' +
          '      <div class="md-toolbar-tools">' +
          '        <h2>Surprise!</h2>' +
          '      </div>' +
          '    </md-toolbar>' +
          '  ' +
          '   <div ' +
          '    <div id="slideDiv" class="demo-dialog-content">' +
          '      <div layout="row" >' +
          '        <img ng-src="{{$scope.bus}}">' +
          '      </div>' +
          '    </div>' +
          '  ' +
          '    <div layout="row" class="demo-dialog-button">' +
          '      <md-button md-autofocus flex class="md-primary" ng-click="cancel()">' +
          '        Close' +
          '      </md-button>' +
          '    </div>' +
          '  </div>',
        parent: angular.element(document.body),
        targetEvent: ev,
        clickOutsideToClose: true,
        fullscreen: $scope.customFullscreen // Only for -xs, -sm breakpoints.
      })
    };

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019
$scope.showAdvanced = function (ev, bus) {

      $scope.bus = bus;
      console.log(bus);
      console.log("scope.bus ="+$scope.bus);
      $mdDialog.show({
        controller: DialogController,
        controllerAs: 'DialogCtrl',
        template: '<div role="dialog" aria-label="Eat me!" layout="column" layout-align="center center">' +
          '    <md-toolbar>' +
          '      <div class="md-toolbar-tools">' +
          '        <h2>Surprise!</h2>' +
          '      </div>' +
          '    </md-toolbar>' +
          '  ' +
          '   <div ' +
          '    <div id="slideDiv" class="demo-dialog-content">' +
          '      <div layout="row" >' +
          '        <img ng-src="{{DialogCtrl.bus}}">' +
          '      </div>' +
          '    </div>' +
          '  ' +
          '    <div layout="row" class="demo-dialog-button">' +
          '      <md-button md-autofocus flex class="md-primary" ng-click="cancel()">' +
          '        Close' +
          '      </md-button>' +
          '    </div>' +
          '  </div>',
        parent: angular.element(document.body),
        targetEvent: ev,
        clickOutsideToClose: true,
        fullscreen: $scope.customFullscreen // Only for -xs, -sm breakpoints.
      })
    };
0 голосов
/ 25 февраля 2019

$ scope не будет работать в этом случае, поскольку он изолирован.Можете ли вы попробовать добавить местных жителей .Спасибо.

locals: {bus: $scope.bus}

или

Следуя первому способу.

locals: {parent: $scope} 
...