angularjs指令怎么改变dom元素里面的值

var selectCommens = angular.module('chapterSelect', []).controller('myChapter',function($scope){


$scope.name='derek';

})。link:function(scope,iElement,iAttrs,controller){

        restrict: 'AE',
        template: '<a href="javascript:;">点击</a>',
        replace: false,
        iElement.bind('click',function(){
            scope.name='frank';
            
            console.log(scope)
        })
        
    }

现在绑定了click事件,怎么样让我点击动态让“scope.name”改变并同时在页面上更新;

阅读 5.5k
3 个回答

第一次见这种写法。。你这个指令写的不清楚啊。 总的来说应该是在指令那个里面设置

scope:'='

双向数据绑定将指令变量变化同步到controller中,或者在指令出发函数中利用事件机制

scope.$emit('someevent','data')

在controller中接收事件

$scope.$on('someevent',function(event,data){
})

另外不建议在controller中或者directive直接用bind绑定事件。可以直接在 html中 利用ng-click之类的来代替

问的问题很新手,如果你想要用操作DOM的思想去写angular,也可以,不过就是复杂点,因为涉及到了angular的核心功能,这里我太懒了我就不跟你讲了。
问题的处理方式有很多种,在不对你的思想冲击下的做法是这样的

link:function(scope,iElement,iAttrs,controller){
    restrict: 'AE',
    template: '<a href="javascript:;">点击</a>',
    replace: false,
    iElement.on('click',function(){
        scope.$apply(function(){
            scope.name = "xxxx"
        })
    })
}
新手上路,请多包涵

angularjs的数据双向绑定很容解决你这个问题,这是angularjs最基础的功能
示例网站:

[CrapApi][1]:一个由anjularjs+bootstrap+springMVC搭建的免费开源的API接口、文档管理系统(应用接口管理系统)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题