AngularJS - 如何动态更改组件控制器?

Posted

技术标签:

【中文标题】AngularJS - 如何动态更改组件控制器?【英文标题】:AngularJS - How to change components controller dynamically? 【发布时间】:2021-02-02 12:03:19 【问题描述】:

我有一个 angularJS 组件,我手动设置了链接的 url。 但我想在 blogposts 以不同的方法加载后更改此 url。

html

<a ng-href=" $ctrl.readMoreUrl " id="readMore" class="read-more" translate="READ_THE_POST" >
READ MORE ON THE BLOG<img src="../../images/assets/arrow-right.svg" 
class="img-responsive arrow-right" /></a>

javascript

function BlogDetailController() 
    var ctrl = this;
    ctrl.readMoreUrl = 'https://mytest-site.com/blogpost/superpost/';


    var angularApp = angular.module(

    .component('postDetail', 
        templateUrl: '/javascripts/controllers/blogDetail.html',
        controller: BlogDetailController,
        bindings: post: '=', indx: '=', title: '='
    )

我想用不同的功能改变它:

$scope.loadpost = function () 
    //I want to change the url here

我尝试向“readMore”的 id 添加一个简单的事件监听器。但有时它有效,有时它不是......而且我认为这不是更改网址的最佳方式。 所以我的问题是,在组件开始使用控制器后,如何随时更改 url?

【问题讨论】:

【参考方案1】:

你试过用 ng-src 连接 img 源吗? https://www.aspsnippets.com/Articles/Dynamically-change-SRC-of-Image-in-AngularJS.aspx

【讨论】:

我尝试了类似的方法,但不起作用。我想改变一个链接的url,所以ng-src对我不好。

以上是关于AngularJS - 如何动态更改组件控制器?的主要内容,如果未能解决你的问题,请参考以下文章

将 AngularJs 1.5 升级到 1.6 - $compile reg 控制器实例的更改会影响哪些确切的绑定?

angularjs学习笔记--组件$http$qmodule

AngularJS - 接收动态内容的组件

angularjs 组件动态过滤器

AngularJS - 无法在链接函数中动态更改指令模板

如何利用angularjs打造一款简单web应用