AngularJS:操纵未知$element的$scope
AngularJS: Manipulate the $scope of an unknown $element
Angular的新手。我正在创建一个指令(属性),供整个项目全局使用。我正在使用本地存储函数,我的目的是让属性所在的元素相应地更改其值/文本。这是 HTML:
<input type="email" name="username" placeholder="Email Address" ng-model='username' loadstorage="USERNAME" />
这是指令:
.directive("loadstorage", function (localStorage) {
return function ($scope, $element, attrs) {
$scope.$element = localStorage.get(attrs.loadstorage);
}
});
可以想象这是行不通的。所以我需要的是一种操作调用函数的元素范围的方法。到目前为止,我尝试的是:
$element.val(localStorage.get(attrs.loadstorage));
它可以工作,但只有当我删除元素的 ng 模型时,不幸的是我需要它用于项目中的其他目的。
angular.element($element).scope();
有了这个,我可以访问范围,但无法操纵它。这是我所说的一个 plunker 示例:http://plnkr.co/edit/FScDaj4YDIae8ZEs9ucx?p=preview任何帮助将不胜感激。
您的指令可能应该通过ngModel
控制器(docs)操作该值:
.directive("loadstorage", function (localStorage) {
return {
require: ["ngModel"],
link: function(scope, element, attrs, controllers) {
var ngModel = controllers[0],
val = localStorage.get(attrs.loadstorage);
element.val(val);
ngModel.$setViewValue(val);
}
};
});
参见分叉的 plunk: http://plnkr.co/edit/DZwTgrVNeLIbLXryscPy
相关文章:
- AngularJS:ng之后,重复$scope值未按预期更新
- jQuery:.click(function(){(element),collapse('show',f
- $ionicplatform内的$scope不;不起作用
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 使用$scope方法时的ControllerAs语法
- 如何将ngrepeat下的ngmodel绑定到$scope
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- Javascript - element.childNodes does not see an append.newch
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- $scope变量被视为字符串AngularJs
- 使用element简化onclick函数
- ng在更新$scope后重复不更新信息
- 正在获取Angular以检测$scope中的更改
- 如何惯用地手动销毁scope&在AngularJS中重新创建
- Understanding Javascript scope with "var that = this&qu
- AngularJS,angular.element($0).scope()揭示了每个控制器的函数
- 如何使用element.myobj.prop等具有对象属性的元素
- AngularJS:操纵未知$element的$scope
- angular.element('#someId').scope()在IE 9中返回undefined
- 从AngularJs外部更新作用域,而不使用angular.element.scope"