Как отобразить строку из вызова функции внутри конкатенации?

Вместо этого используйте $ window :

var secure = angular.module('secure', []);
secure.controller('ProcedureController', ProcedureController);
ProcedureController.$inject = ['$controller', '$rootScope', '$scope', '$http', '$window'];

function ProcedureController($controller, $rootScope, $scope, $http, $window) {

  ... // Controller does more stuff

  var href = $window.location.href.split('/');
  var baseUrl = href[0] + '//' + href[2];
  var url = baseUrl + "/secure/regulations";

  $http.get(url)
    .success(function (data) {
        $scope.questions = data[0];
    })

  $scope.download = function (msg) {
    $window.location = url + "/" + msg + "/attachment";
  }
}

describe('ProcedureController', function () {
  var windowObj = {location: {href: ''}};

  beforeEach(mock.module(function($provide) {
     $provide.value('$window', windowObj);
  }));
  beforeEach(module('secure'));

  beforeEach(inject(function ($rootScope, $http, $controller, $injector) {
    scope = $rootScope.$new();
    ProcedureController = $controller('ProcedureController', {
        $scope: scope,
        $http: $http
    });
  }));

  it ('should download something', function() {
    expect(scope.download).toBeDefined();
    scope.download(1);
    expect(windowObj.location.href).toEqual('/secure/regulations/1/attachment');
  });

 });

2
задан linktoahref 16 January 2019 в 06:09
поделиться

3 ответа

Вы можете прочитать больше о сложном (фигурном) синтаксисе в строке в кавычках, однако вы можете достичь того, что вы хотите с этим кодом:

$test = "{${config('app.url')}}/{$username}";
die(print_r($test));

Но я лично предпочитаю:

$appUrl = config('app.url');
$test = "{$appUrl}/{$username}";
die(print_r($test));
[ 114] Это работает для вас?

0
ответ дан MyLibary 16 January 2019 в 06:09
поделиться

Вы можете попробовать следующим образом

<?php

Вы можете попробовать следующим образом

[110] = function ( $v ) { return $v; }; function config($url) { return $url; } $username = 'u_name'; echo "{

Вы можете попробовать следующим образом

[110]( config('app.url') )}/{$username}";
0
ответ дан MH2K9 16 January 2019 в 06:09
поделиться

Это невозможно. Вы можете анализировать переменные только внутри строки. Единственный способ - присвоить результат функции переменной:

$url = config('app.url');
$test = "{$url}/{$username}";

Подробнее о можно прочитать в строках

0
ответ дан Marcin Nabiałek 16 January 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: