1
我試圖實現一個窗口調整大小自定義指令,它工作正常。自定義指令不工作,如果我更改指令的名稱
問題是,它只能如果我使用的指令名稱作爲調整大小。 否則,如果我使用不同的名稱作爲windowsize,它只會在頁面刷新時觸發。
這裏是控制器代碼
var app = angular.module('miniapp', []);
function AppController($scope) {
/* Logic goes here */
}
> > app.directive('windowsize', function($window){
> return function(scope,element){
> var w=angular.element($window);
> scope.getWindowDimension=function(){
> return{
> 'w': w.width()
> };
> };
> scope.$watch(scope.getWindowDimension, function (newValue, oldValue) {
> scope.windowWidth = newValue.w;
> console.log(scope.windowWidth);
>
> }, true);
> w.bind('windowsize', function() {
> scope.$apply();
> });
> };
> })
html code
<div ng-app="miniapp" ng-controller="AppController" windowsize>
window.height: {{windowHeight}}
<br />window.width: {{windowWidth}}
<br />
</div>
你刷新前得到的任何錯誤? –
你應該嘗試w.bind('resize')而不是w.bind('windowsize') –
我沒有收到任何錯誤。如果我替換指令名稱windowsize來調整它的工作正常。 @SaEChowdary –