如果元素的屬性包含多個角度表達式,那麼這些表達式將計算爲空字符串。在我的例子中,我有一個具有2個相同表達式的屬性,它們都只是輸出範圍變量。如果我刪除一個表達式,那麼另一個表達式正確計算。我錯過了什麼?從控制器爲什麼角色表達式計算爲屬性中的空字符串
提取物:從我的HTML
link: function (scope, elem, attrs) {
scope.$watch("dataRead", function (dataAvailable) {
if (dataAvailable) {
...here I check for mytest attribute value...
提取物::
<my-directive id="someId" style="position: absolute; background-color:bisque;" width="200" mytest="{{mytest}}{{mytest}}"....
在上面的例子中,如果mytest的具有表達兩次從該指令
$http.get(
"http://myurl/odata/Profile",
{
params: {
"$orderby": "Id",
"someParamId": "10"
}
}
).success(function (response) {
$scope.data = response.value;
$scope.mytest = "hello";
$scope.dataRead = true;
}
);
提取物結果值是一個空字符串,否則它正確評估。 因此,基本上一旦同一個屬性值中有超過1個範圍變量表達式,它就無法評估。
急需幫助!
編輯:
道歉編輯遲到。這是顯示問題的plunker。 index.html頁面中有一個屬性myattr。它故意將它的值設爲兩個相同的表達式。在指令的鏈接函數中,該屬性的值是一個空字符串。
代碼不完整。我們不知道指令是如何定義的,應該評估什麼,評估顯示在什麼地方等等。發佈一個完整的最小范例來重現問題。解釋你期望發生什麼,以及發生了什麼。 –
創建一個plunkr/jsbin /隨你的問題。它在這一個工作正常:http://jsbin.com/mupuhi/1/edit?html,js,output – sirrocco
是的,抱歉沒有給你足夠的信息和延遲響應。以下是具有可重複條件的plunkr:[鏈接](http://plnkr.co/edit/svZtSp00DaGK3HWUYB7R?p=preview) 正如您所見,span元素可以正確評估,但如果您查看其設置的myattr屬性以空字符串 - 一個警告框顯示 – Nikolai