Angularjs.从AngularJS控制器访问属性

前端之家收集整理的这篇文章主要介绍了Angularjs.从AngularJS控制器访问属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用控制器访问图像src来保存它,但无法弄清楚如何做到这一点.

我的模板:

<img data-ng-model="book.image"
         style="width: 300px; height: 200px;"
         ng-src="data:image/png;base64,iVBORw0K...SuQmCC">
    <a data-ng-click="save(book)" class="btn">Submit</a>

我的控制器:

controller('BookEditController',[ '$scope','$meteor',function ($scope,$meteor) {
        $scope.save = function (book) {
            if (typeof book == 'object') {
                var books = $meteor("books");
                var id = books.insert(book);
            }
        };
    }])

解决方法

一个选项是使用 directive并将一个名为save的方法应用于它,它将处理图像标记上的src属性.
JS

var app = angular.module('myApp',[]);
app.directive('saveImage',function () {
    return {
        transclude: true,link: function (s,e,a,c) {
            s.save=function(){
                alert(a.src);
            };
         }
    };
});

HTML

<div >
    <img save-image style="width: 300px; height: 200px;" src="http://placehold.it/350x150"> <a ng-click="save()" class="btn">Submit</a>

</div>

This is the code implemented in jsfiddle.

另一种选择是将示波器隔离到控制器,但仍然将图像应用于它而不是函数.

JS

var app = angular.module('myApp',c) {
            s.image = a.src;

        }
    };
});

function cntl($scope) {
    $scope.save = function (img) {
        alert($scope.image || 'no image');
    }
}

HTML

<div ng-controller='cntl'>
    <img save-image style="width: 300px; height: 200px;" src="http://placehold.it/350x150"> <a ng-click="save()" class="btn">Submit</a>

</div>

注意添加的ng-controller =“cntl”.

This is the JSfiddle for that one.

猜你在找的Angularjs相关文章