2016-08-22 123 views
-2

我有三個scope變量:傳遞範圍變量值對象

我想給scope值傳遞給下面的對象,但它的失敗,丟了我的錯誤...

$scope.content.new_line = "'\n'"; 
$scope.content.text1 = "Text.\n\n"; 
$scope.content.text2 = "Text.\n\n"; 

var content = { 
    pageSize: $scope.pageSize, 
    content: [ 
     { 
      text: "some text", 
      style: ['header', 'aligncenter'] 
     }, 
     $scope.content.new_line, 
     $scope.content.text1, 
     $scope.content.text2, { 
      style: 'center' 
     }, 
     '\n', 
     'Text.\n\n', { 
      text: 'Again some text', 
      style: ['quote', 'small'] 
     } 
    ] 
}; 

任何人都可以讓我知道如何正確地將scope值傳遞給此object

我使用pdfmake庫... https://github.com/bpampuch/pdfmake

這是一個正常的內容:

var docDefinition = { 
    content: [ 
    'paragraph 1', 
    'paragraph 2', 
    { 
     columns: [ 
     'first column is a simple text', 
     [ 
      // second column consists of paragraphs 
      'paragraph A', 
      'paragraph B', 
      'these paragraphs will be rendered one below another inside the column' 
     ] 
     ] 
    } 
    ] 
}; 
+1

小心分享你遇到的錯誤? –

+1

a [mcve]會很棒 –

+0

@ DanielA.White:我更新了帖子.... – Shane

回答

0

嘗試增加:

$scope.content = {} 

在第一行:>

0

這可能是由於不同之處en定義 - 訪問您的scope而不是運行時訪問。

var scope = {value: 5}; 

var content = { 
    value: scope.value 
}; 

scope.value = 6; 
console.log(content.value); 

在上面的代碼片段中,控制檯日誌將顯示「5」。這是因爲範圍值是在定義時間分配的。這是一個替代方案:

var scope = {value: 5}; 

var content = { 
    getValue: function() { return scope.value; } 
}; 

scope.value = 6; 
console.log(content.getValue()); 

這裏的控制檯日誌將顯示「6」。我猜這不是您正在尋找的解決方案,請提供有關如何創建和訪問此數據的更多詳細信息,以及正確的解決方案可能更加明顯。