2016-04-03 50 views
2

筆者認爲:Concating文本NG-模型

<input type="text" ng-model="imageUrl = fullImageUrl(job.imageUrl);" /> 

我的應用程序控制器:

$scope.fullImageUrl=function(imageUrl){ 

    return '/img/'+imageUrl; 
} 

問題是,當我瀏覽時顯示 -

/img/undefined 

我不我不想要這個。在執行我的功能之前,我想要空白。

+0

謝謝..它工作! –

回答

2

ng-model中使用任務可能不是最好的想法。它期望一個表達式,而不是一個賦值。這是它應該如何看:

<input type="text" ng-model="fullImageUrl(job.imageUrl)" /> 

然後,如果你想讓它不顯示undefined你可以檢查它在你的函數和一個空字符串""分配給它。 嘗試是這樣的:

$scope.fullImageUrl=function(imageUrl){ 
    if (!imageUrl) imageUrl = ""; 
    return '/img/'+imageUrl; 
} 
+0

好吧..但它完美的作品.. ..你應該嘗試 –

+0

它可能會工作,但在你的模板中分配變量可能不是一個好主意。如果你的具體需求要求你這樣做,那麼決不會去做。 –

0
$scope.fullImageUrl=function(imageUrl){ 
    if (!imageUrl) {    
     return ""; 
     } 

    return '/img/'+imageUrl; 
} 

我在這裏傳遞IMAGEURL作爲參數,並在第一次是不確定的。這就是爲什麼當imageUrl時,它會返回空字符串並在視圖中顯示它。只要它得到值,它就不會進入「if-condition」並返回給定的代碼。

+0

雖然此代碼可能回答此問題,但提供 關於_why_和/或_how_的其他上下文,則回答 問題將顯着改善其長期值 值。請[編輯]你的答案,添加一些解釋。 –