1
我的指令具有隔離範圍,它從封閉控制器接收對象作爲屬性。
app.directive('details', function() {
return {
restrict : 'E',
scope : {
device : '=device',
.
.
.
},
templateUrl : '/details.html',
link : function(scope, element, attrs) {
attrs.$observe('device', function(value) {
...
});
}
};
});
而在HTML:
<details device='ctrlAlias.device' ...>
我讀的地方,如果我想爲您在屬性的變化,我需要使用$observe
功能。但是,我看到的大多數示例僅在原始值上使用$observe
。
我不知道我將如何$observe
的device
的屬性,說attrs.$observe
內device.exist
(一個布爾值)和device.id
(字符串)?
看到這篇文章瞭解'$ watch'和'$ observe'之間區別的更多細節。 http://stackoverflow.com/questions/14876112/difference-between-the-observe-and-watch-methods – morloch 2014-11-04 11:01:35
@Satpal我編寫了'function(newValue,oldValue){if(typeof oldValue ===「undefined」)&& (newValue.exist == true){...}}'但我得到屬性未定義。 – menorah84 2014-11-04 11:21:05
@ menorah84,期望值'ctrlAlias.device'是什麼? – Satpal 2014-11-04 11:30:16